LeetCode 演算法 實現strStr

2021-10-04 05:54:16 字數 1044 閱讀 3407

首先看題目

實現 strstr() 函式。

給定乙個 haystack 字串和乙個 needle 字串,在 haystack 字串中找出 needle 字串出現的第乙個位置 (從0開始)。如果不存在,則返回 -1。

示例

示例 1

:輸入: haystack =

"hello"

, needle =

"ll"

輸出:2

示例 2

:輸入: haystack =

"aaaaa"

, needle =

"bba"

輸出:-

1

解決思路

滑動視窗法使用的是兩個指標的不斷移動,來尋找匹配的字串。我們用兩個指標,乙個頭指向 haystack ,乙個指向 needle 。

當遇到相等的字元時,兩個指標同時後移,繼續比較下乙個,直到比較完成,或者比較失敗,將指向 haystack 的指標回溯到比較之前,將指向 needle 的指標重置為零。

**實現:

/**

* 滑動視窗法 實現strstr()

* * @param haystack

* @param needle

* @author geyuxuan 2020-03-21 23:05:52

* @return int

*/public

intstrstr

(string haystack, string needle)

//指標不等,i指標回溯到第乙個比較字元的位置,j指標重置為0

else

}//如果j指標指向needle最後乙個字元,說明比較完成

if(j==needle.

length()

)return-1

;}

不忘初心,砥礪前行。

str功能的實現

1.strcat 功能 把src所指字串新增到dest結尾處 覆蓋dest結尾處的 0 並新增 0 程式 char strcat char dest,const char src while src j 0 dest i 0 return addr int main 2.strchr 功能 查詢字串...

模擬實現str函式

字串是乙個重要的資料型別,但是c語言並沒有顯式的字串資料型別,因為字串以字元常量的形式儲存在字元陣列之中。接下來我將要模擬實現處理字串的庫函式 strlen,syrcpy,strcat,strstr,strcmp,memcpy。1 strlen返回乙個int型的資料,是乙個測試字串長度的函式。這是自...

C語言 str2bin 和 bin2str 實現

在編碼或者除錯過程中經常需要進行 位元組碼轉換為 十六進製制的字串,或者將 十六進製制字串 轉換為 位元組碼的需求。即 位元組碼 記憶體中儲存的 01 串 11111111 ff linux上除錯通過。include include include stringify binary data.out...