用雙指標,判斷子串行

2021-10-08 14:23:39 字數 808 閱讀 9088

歷次做演算法題目,今天耗時最短。題目原鏈結leetcode

給定字串 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 的下乙個字母和 t 的下乙個字母比較

public boolean issubsequence

(string s, string t)

j++;// 不論相同與否,j 的下標都後移一位

}return i == slen;

}

官方題解中,除了雙指標外,還給出了動態規劃的解法,有興趣的可以看一下。我覺得雙指標已經完美解決問題,並且效能、記憶體消耗雙百。動態規劃有點大材小用了。

判斷子串行 雙指標)

給定字串 s 和 t 判斷 s 是否為 t 的子串行。你可以認為 s 和 t 中僅包含英文小寫字母。字串 t 可能會很長 長度 500,000 而 s 是個短字串 長度 100 字串的乙個子串行是原始字串刪除一些 也可以不刪除 字元而不改變剩餘字元相對位置形成的新字串。例如,ace 是 abcde ...

判斷子串行

給定字串 s 和 t 判斷 s 是否為 t 的子串行。你可以認為 s 和 t 中僅包含英文小寫字母。字串 t 可能會很長 長度 500,000 而 s 是個短字串 長度 100 字串的乙個子串行是原始字串刪除一些 也可以不刪除 字元而不改變剩餘字元相對位置形成的新字串。例如,ace 是 abcde ...

子串行判斷

如下 class solution return true 字母ab yz鍊錶 索引1,索引2,索引 索引索引 判斷子串行,高階 有k個子序列,判斷是否是t的子串行 public static boolean issubsequence string s,string t else int p 1 ...