[LeetCode] Is Subsequence

題目:Is Subsequence
難度:Easy

解題技巧在於 two pointer

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class Solution {
public bool IsSubsequence(string s, string t) {
int pointer = 0;

for (int i = 0; i < t.Length; i++)
{
// 如果 t[i] 存在於 s,則移動 s 的 pointer
if (pointer < s.Length && s[pointer] == t[i])
{
pointer++;
}

// 如果已經找到所有存在於 t 的 s
// 則回傳 true,不用遍歷所有 t
if (s.Length == pointer)
{
return true;
}
}

return s.Length == pointer;
}
}

Comments