leetCode 28.Implement strStr() (实现字符串匹配函数) 答题思路和方法
leetCode 28.Implement strStr() (实现字符串匹配函数) 解题思路和方法
Implement strStr()
Implement strStr()
Returns the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.
思路:此题很简单,就是实现strStr()函数。找到返回起始值,找不到返回-1。
代码如下:
public class Solution { public int strStr(String haystack, String needle) { int lenB = needle.length();//needle的长度 if(lenB == 0){ return 0; } int lenA = haystack.length();//haystack的长度 if(lenA == 0){ return -1; } if(lenA < lenB){//子串长度大,肯定不存在 return -1; } for(int i = 0; i < lenA; i++){ if(lenA - i < lenB){//如果以后的数字没有lenB大,直接返回 break; } if(haystack.charAt(i) == needle.charAt(0)){//如果a的某个字符与b的首字符相等 //循环判断以后的数字是否对应相等 boolean isStr = true; for(int j = i;j - i < lenB;j++){ if(haystack.charAt(j) != needle.charAt(j-i)){//如果不相等字符,直接返回 isStr = false;//标记值记为false break; } } if(isStr){ return i; } } } return -1; } }
版权声明:本文为博主原创文章,未经博主允许不得转载。