一、Description:
Implement strStr().
Return the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.
Example 1:
Input: haystack = "hello", needle = "ll" Output: 2
Example 2:
Input: haystack = "aaaaa", needle = "bba" Output: -1
二、Ideas:
这道题的目的是找到最初匹配字符串的位置,就是考察最基础的Java中String类的应用。首先判断子串长度是否为0,若为0,则返回结果是0,否则,就从母串的首字符开始遍历,当遇到其与子串首字符匹配时,通过String类中的substring方法与子串比较(注意:substring(i,j)->i为起始字符位置,该字符包含在子串内,j为结束字符位置,但是该字符不包含在子串内),若匹配则退出遍历,返回当前位置,否则继续遍历。
三、Code:
class Solution {
public int strStr(String haystack, String needle) {
int result=-1;
int len=needle.length();
int len2=haystack.length();
if(len==0) return 0;
for(int i=0;i<len2;i++){
if(haystack.charAt(i)==needle.charAt(0)){
if((i+len<=len2)&&haystack.substring(i,i+len).equals(needle)){
result=i;
break;
}
}
}
return result;
}
}