Leetcode_Implement strStr()
2015-02-09 15:53
316 查看
题意为判断一个字符串是否出现在另外一个字符串中,存在则返回其第一次出现的位置,否则返回-1.
class Solution {
public:
int strStr(char *haystack, char *needle) {
int Len1=strlen(haystack);
int Len2=strlen(needle);
if(Len1<Len2) return -1;
if(Len2==0)
return 0;
for(int i=0;i<Len1;++i)
{
int j=0;
int k=i;
if(i>Len1-Len2)//这一句可用于剪枝,后面的就不需要判断了
return -1;
while(k<Len1&&j<Len2&&haystack[k]==needle[j])
{
++k;
++j;
}
if(j==Len2)
return i;
}
return -1;
}
};
在上面的代码中,如果去点下面这一句,就会报错:Time Limit Exceeded
if(i>Len1-Len2)//这一句可用于剪枝,后面的就不需要判断了
return -1;
class Solution {
public:
int strStr(char *haystack, char *needle) {
int Len1=strlen(haystack);
int Len2=strlen(needle);
if(Len1<Len2) return -1;
if(Len2==0)
return 0;
for(int i=0;i<Len1;++i)
{
int j=0;
int k=i;
if(i>Len1-Len2)//这一句可用于剪枝,后面的就不需要判断了
return -1;
while(k<Len1&&j<Len2&&haystack[k]==needle[j])
{
++k;
++j;
}
if(j==Len2)
return i;
}
return -1;
}
};
在上面的代码中,如果去点下面这一句,就会报错:Time Limit Exceeded
if(i>Len1-Len2)//这一句可用于剪枝,后面的就不需要判断了
return -1;
相关文章推荐
- [LeetCode] Implement strstr() to Find a Substring in a String
- LeetCode 28 Implement strStr()(子字符串查找)
- LeetCode Implement strStr()
- [LeetCode] Implement strStr()
- (leetcode) Implement strStr()
- LeetCode(28) Implement strStr()
- Leetcode Implement strStr()解题报告
- 【LeetCode-面试算法经典-Java实现】【028-Implement strStr() (实现strStr()函数)】
- [LeetCode] 034: Implement strStr()
- LeetCode之Implement strStr()
- LeetCode Implement strStr()
- leetcode - Implement strStr()
- 【LeetCode】028.Implement strStr()
- LeetCode:Implement strStr()
- LeetCode | Implement strStr()
- 【LeetCode 28_字符串_匹配】Implement strStr()
- Leetcode Implement strStr()
- LeetCode: Implement strStr()
- [leetcode] Implement strStr()
- C++ 写leetcode遇到的一些问题总结Implement strStr()