字符串蛮力匹配问题

63f84870fc705155.png

如果匹配成的话,内循环一定是一次性跑完,直到 j<m 条件不满足才退出的啊。

那么他为啥还要写m<=j呢?

为何不能直接这样呢? if(m==j) break;

"<" 的意义在于什么呢?
阅读 3k
1 个回答

写成"m <= j"是不规范的,应该写成"m == j"的形式。

其实写成

if(m == j) 
    break;

也是有问题的,因为只break了内层循环,外层循环没有break,循环继续执行,函数并没有结束。

可以写成:

if(m == j)
    return i;

不管怎么说,这段代码是乱糟糟的,不用纠结这个代码,这种代码看多了,反而影响自己的编程水平。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题