不想打KMP时的暴力匹配法

母串A 子串B
循环母串 然后新设变量 k , j
注意前两个判断 k < a.length()必须放在a[k] == b[j]前面
这样当k或j == length()时就不会访问字符串而直接结束循环
因为有可能访问到 k == a.length()导致RE

for(int i=0; i<a.length(); i++) {
        int k=i, j=0;
        while(k<a.length() && j<b.length() && a[k] == b[j]) k++, j++;
        if(j == b.length()) ans[++tot] = i;
    }
    for(int i=1; i<=tot; i++)
        cout << ans[i]+1 << endl;

猜你喜欢

转载自blog.csdn.net/Fantasy_World/article/details/81603160