码迷,mamicode.com
首页 > 其他好文 > 详细

Leetcode 28. Implement strStr()

时间:2016-08-08 22:36:18      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:

代码:

这道题提醒我一点,要主要修剪多余的计算。

第一个for循环,结束位置是m-n+1 而不是m。

第二个for循环,用break也是避免多余计算。

class Solution {
public:
    int strStr(string haystack, string needle) {
        int m = haystack.length(), n = needle.length();
        if (n == 0) return 0;
        for (int i = 0; i < m - n + 1; i++) { // pointer of starting position
            int j = 0;
            for (; j < n; j++) // pointer checking unifomity
                if (haystack[i + j] != needle[j])
                    break;
            if (j == n) return i;
        }
        return -1;        
    }
};

  

Leetcode 28. Implement strStr()

标签:

原文地址:http://www.cnblogs.com/casperwin/p/5751184.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!