Leetcode 392. Is Subsequence 判断子序列 解题报告

1 解题思想

给定了S和T,让你判断S是否是T的子序列,其中T会非常大,S不大

这道题做法很简单,两个指针就可以,无论如何指向T的每轮都要前进,而S的那个只有当当前指针下S和T一致的情况下才前进

记得提前转换成数组,不然超时!

2 原题

Given a string s and a string t, check if s is subsequence of t. 
You may assume that there is only lower case English letters in both s and t. t is potentially a very long (length ~= 500,000) string, and s is a short string (<=100). 
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). 
Example 1:
s = "abc", t = "ahbgdc" 
Return true. 
Example 2:
s = "axc", t = "ahbgdc" 
Return false. 

3 AC解

public class Solution {
    /**
     * 直接顺序判断就可以了 s必须至少匹配一个,t可以匹配也可以跳过,注意先转化成数组*/
    public boolean isSubsequence(String s, String t) {
        int i=0,j=0;
        char[] ss=s.toCharArray();
        char[] tt=t.toCharArray();
        while(i<ss.length && j<tt.length){
            if(ss[i]  == tt[j]){
                i++;
            }
            j++;
        }
        return i==s.length();

    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值