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
Explanation: Scanning "ahbgdc" from left to right finds 'a' at index 0, 'b' at index 2 and 'c' at index 5, in order. So "abc" is a subsequence.
Example 2
Input: s = axc, t = ahbgdc
Output: false
Explanation: 'a' is found, but 'x' never appears in t, so "axc" cannot be a subsequence.
Example 3
Input: s = ace, t = abcde
Output: true
Explanation: 'a', 'c' and 'e' appear in "abcde" at indices 0, 2 and 4, in order.
Scan t left to right with a pointer into s; each time the current character of t matches the next needed character of s, advance in s. If you reach the end of s, every character was found in order.
Run checks all cases above. Submit evaluates all test cases.