給定字串s和t,判斷s是否為t的子串行。
你可以認為s和t中僅包含英文小寫字母。字串t可能會很長(長度 ~= 500,000),而s是個短字串(長度 <=100)。
字串的乙個子串行是原始字串刪除一些(也可以不刪除)字元而不改變剩餘字元相對位置形成的新字串。(例如,"ace"
是"abcde"
的乙個子串行,而"aec"
不是)。
示例 1:
s="abc"
,t="ahbgdc"
返回true
.
示例 2:
s="axc"
,t="ahbgdc"
返回false
.
後續挑戰:
如果有大量輸入的 s,稱作s1, s2, ... , sk 其中 k >= 10億,你需要依次檢查它們是否為 t 的子串行。在這種情況下,你會怎樣改變**?
思路:雙指標法,i和j分別指向字串t和s。
1、當兩個指標所指向的字元相等的時候:兩個指標同時向前移動。
2、當兩個指標所指向的字元不相等的時候:j不動,i移動。
如果最後j走完了,說明s是t的子串行。
class solution
return j==s.size();
}};
392 判斷子串行
給定字串 s 和 t 判斷 s 是否為 t 的子串行。你可以認為 s 和 t 中僅包含英文小寫字母。字串 t 可能會很長 長度 500,000 而 s 是個短字串 長度 100 字串的乙個子串行是原始字串刪除一些 也可以不刪除 字元而不改變剩餘字元相對位置形成的新字串。例如,ace 是 abcde ...
392 判斷子串行
給定字串 s 和 t 判斷 s 是否為 t 的子串行。你可以認為 s 和 t 中僅包含英文小寫字母。字串 t 可能會很長 長度 500,000 而 s 是個短字串 長度 100 字串的乙個子串行是原始字串刪除一些 也可以不刪除 字元而不改變剩餘字元相對位置形成的新字串。例如,ace 是 abcde ...
392 判斷子串行
is subsequence 題目描述 給定字串 s 和 t 判斷 s 是否為 t 的子串行。你可以認為 s 和 t 中僅包含英文小寫字母。字串 t 可能會很長 長度 500,000 而 s 是個短字串 長度 100 字串的乙個子串行是原始字串刪除一些 也可以不刪除 字元而不改變剩餘字元相對位置形成...