回答編集履歴
1
訂正:1の「そこから`$j`がゼロになるまで」が誤り
answer
CHANGED
@@ -2,9 +2,10 @@
|
|
2
2
|
|
3
3
|
ポイントは、下記です。
|
4
4
|
|
5
|
-
1. traverse関数にテキストの文字数(`$#text`)を探索開始位置(`$k`)として渡し、関数内でそれとテキスト開始位置(`$j`)を比較して、スタート位置より前なら末尾の不一致なので、そこから`$j`
|
5
|
+
1. traverse関数にテキストの文字数(`$#text`)を探索開始位置(`$k`)として渡し、関数内でそれとテキスト開始位置(`$j`)を比較して、スタート位置より前なら末尾の不一致なので、そこから`$j`の位置までを全て"insert"にする。`$k`が未定義の場合は無視する。
|
6
|
-
2. パターンの開始位置(`$i`)がゼロになった箇所より前は先頭の不一致なので、そこから`$j`がゼロになるまでを全てinsertにする。
|
7
6
|
|
7
|
+
2. 同じくtraverse関数にて、パターンの開始位置(`$i`)がゼロになった箇所より前は先頭の不一致なので、そこから`$j`がゼロになるまでを全てinsertにする。
|
8
|
+
|
8
9
|
※順番は後ろから前へ
|
9
10
|
|
10
11
|
|