LeetCode六月挑战 Is Subsequence LeetCode 392
Solution
Given a string s and a string t, check if s is subsequence of t.
A subsequence of a string is a new string which is formed from the original string by deleting some (can be none) of the characters without disturbing the relative positions of the remaining characters. (ie, “ace” is a subsequence of “abcde” while “aec” is not).
Follow up:
If there are lots of incoming S, say S1, S2, … , Sk where k >= 1B, and you want to check one by one to see if T has its subsequence. In this scenario, how would you change your code?
Credits:
Special thanks to @pbrother for adding this problem and creating all test cases.
1 | Example 1: |
Constraints:
0 <= s.length <= 100
0 <= t.length <= 10^4
Both strings consists only of lowercase characters.
思路
- Java做法: 采用两个指针,当匹配到相同的,s和t的指针移动到下一位,如果不匹配,将t的指针移动到下一位继续匹配。
- python做法:将s转换为list q,如果q本身为空,返回true。如果q不为空,不断匹配,如果匹配到相同的字符,就把他从list q中删除。匹配到t的最后一位,如果q为空,返回true。
代码
java
1 | class Solution { |
python
1 | class Solution: |