摘要:建立長度與目標(biāo)串相等的模式函數(shù)初始化,為,之后,若不重復(fù),賦,若有重復(fù)段,賦對應(yīng)的模式函數(shù)值不難,建議死記硬背根據(jù)模式函數(shù)用兩個(gè)指針比較兩個(gè)字符串,當(dāng)目標(biāo)串指針和目標(biāo)串長度相等時(shí),返回差值。
Implement strStr() Problem
Implement strStr().
Returns the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.
Note建立長度與目標(biāo)串相等的模式函數(shù)c;
初始化c,c[0]為-1,之后,若不重復(fù),賦0,若有重復(fù)段,賦對應(yīng)的模式函數(shù)值(不難,建議死記硬背);
根據(jù)模式函數(shù)用兩個(gè)指針比較兩個(gè)字符串,當(dāng)目標(biāo)串指針和目標(biāo)串長度相等時(shí),返回index差值。
public class Solution { public int strStr(String a, String b) { if (b == null) return 0; if (a.length() < b.length()) return -1; int m = a.length(), n = b.length(); int i = -1, j = 0; int[] next = new int[n]; if (next.length > 0) next[0] = -1; while (j < n-1) { if (i == -1 || b.charAt(i) == b.charAt(j)) next[++j] = ++i; else i = -1; } i = 0; j = 0; while (i < m && j < n) { if (j == -1 || a.charAt(i) == b.charAt(j)) { i++; j++; } else j = next[j]; } if (j == n) return i-j; return -1; } }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/66070.html
Problem For a given source string and a target string, you should output the first index(from 0) of target string in source string. If target does not exist in source, just return -1. Note 我終于找到了比較好的K...
摘要:最新更新暴力法復(fù)雜度時(shí)間空間思路本題有很多高級算法可以在時(shí)間內(nèi)解決問題,然而這已經(jīng)超出面試的范疇。本題在面試中出現(xiàn)的作用就是考察基本的編程素養(yǎng),以及邊界條件的考慮。它使用一個(gè)數(shù)組,這個(gè)數(shù)組記錄了模式串自身的前綴和后綴的重復(fù)情況。 Implement strStr() 最新更新:https://yanjia.me/zh/2019/02/... Implement strStr().Re...
摘要:愛寫作者愛寫實(shí)現(xiàn)函數(shù)。說明當(dāng)是空字符串時(shí),我們應(yīng)當(dāng)返回什么值呢這是一個(gè)在面試中很好的問題。對于本題而言,當(dāng)是空字符串時(shí)我們應(yīng)當(dāng)返回。這與語言的以及的定義相符。利用內(nèi)建函數(shù)直接得結(jié)果。如果子字符串為空,返回。 愛寫bug(ID:icodebugs)作者:愛寫bug 實(shí)現(xiàn) strStr() 函數(shù)。 給定一個(gè) haystack 字符串和一個(gè) needle 字符串,在 haystack 字符...
摘要:愛寫作者愛寫實(shí)現(xiàn)函數(shù)。說明當(dāng)是空字符串時(shí),我們應(yīng)當(dāng)返回什么值呢這是一個(gè)在面試中很好的問題。對于本題而言,當(dāng)是空字符串時(shí)我們應(yīng)當(dāng)返回。這與語言的以及的定義相符。利用內(nèi)建函數(shù)直接得結(jié)果。如果子字符串為空,返回。 愛寫bug(ID:icodebugs)作者:愛寫bug 實(shí)現(xiàn) strStr() 函數(shù)。 給定一個(gè) haystack 字符串和一個(gè) needle 字符串,在 haystack 字符...
摘要:如果存在,返回子字符串的在長字符串的起始點(diǎn)的位置。如果不存在,則返回。就是遍歷長字符串,并通過比較字符找到是否存在目標(biāo)子字符串。需要注意一下的就是對特殊情況的判斷,以減少無謂的時(shí)間消耗。 題目詳情 Implement strStr().Return the index of the first occurrence of needle in haystack, or -1 if nee...
閱讀 2752·2021-11-24 10:23
閱讀 1159·2021-11-17 09:33
閱讀 2507·2021-09-28 09:41
閱讀 1418·2021-09-22 15:55
閱讀 3644·2019-08-29 16:32
閱讀 1911·2019-08-29 16:25
閱讀 1060·2019-08-29 11:06
閱讀 3427·2019-08-29 10:55