1. 程式人生 > >leetcode 28. 實現strStr()

leetcode 28. 實現strStr()

clas close ole closed stack charat src lse display

技術分享圖片
class Solution {
    public int strStr(String haystack, String needle) {
        int i = 0, j = 0;
        int a = haystack.length();
        int b = needle.length();
        if(a<b) return -1;
        else if(b==0 || haystack.equals(needle)) return 0;
        else {
            while(i < a && j < b) {
                
if(needle.charAt(j) != haystack.charAt(i)) { i=i-j+1; j=0; } else { i++; j++; } } if(j==b) return i-j; else return -1; } } }
雙指針

技術分享圖片
class Solution {
    public int strStr(String haystack, String needle) {
                if(haystack.length() == 0&&needle.length() != 0) return -1;
                int l1=haystack.length();
                int l2=needle.length();
                boolean flag;
                
for(int i = 0 ; i <= l1-l2; i++){ flag = true; for(int j = 0 ; j < needle.length() ; j ++) { if(haystack.charAt(i+j) != needle.charAt(j)) { flag = false; break; } } if(flag) return i; } return -1; } }
簡潔

leetcode 28. 實現strStr()