首先看題目:
實現 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...