-
Notifications
You must be signed in to change notification settings - Fork 2.3k
/
0392-is-subsequence.c
44 lines (39 loc) · 962 Bytes
/
0392-is-subsequence.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/**
* Given two strings s and t, return true if s is a subsequence of t, or false
* otherwise. A subsequence of a string is a new string that is formed from the
* original string by deleting some (can be none) of the characters without
* disturbing the relative positions of the remaining characters. (i.e., "ace"
* is a subsequence of "abcde" while "aec" is not).
*
* Example 1:
* Input: s = "abc", t = "ahbgdc"
* Output: true
*
* Example 2:
*
* Input: s = "axc", t = "ahbgdc"
* Output: false
*
* Constraints:
*
* 0 <= s.length <= 100
* 0 <= t.length <= 104
* s and t consist only of lowercase English letters.
*
* Space: O(1)
* Time: O(n)
*/
bool isSubsequence(char * s, char * t){
char *s_char = s;
char *t_char = t;
while (*s_char != 0) {
if (*t_char == 0) {
return false;
}
else if (*s_char == *t_char) {
++s_char;
}
++t_char;
}
return true;
}