class Solution {
public:
int strStr(string haystack, string needle) {
if (needle.empty()) return 0;
for (int i = 0; i<= haystack.size() - needle.size(); i++) {
bool flag = false;
for (int j = 0 ; j < needle.size(); j++) {
if (needle[j] == haystack[i+j]) {
flag = true;
} else {
flag = false;
break;
}
}
if (flag == true) {
return i;
}
}
return -1;
}
};
当某一个size为0时,会进入循环,报错。两个size不能直接相减。要先赋值。
尽量用.length