开发者社区 问答 正文

字符串蛮力匹配问题

screenshot
如果匹配成的话,内循环一定是一次性跑完,直到 j

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

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

"<" 的意义在于什么呢?

展开
收起
a123456678 2016-06-08 21:30:14 2112 分享 版权
1 条回答
写回答
取消 提交回答
  • 写成"m <= j"是不规范的,应该写成"m == j"的形式。

    其实写成

    if(m == j)

    break;

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

    可以写成:

    if(m == j)

    return i;

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

    2019-07-17 19:32:47
    赞同 展开评论
问答地址: