每日一题——长键输入

题目描述:
给你两串字母
只要第二串字母满足在第一串字母的基础上构成即可(有的字母可能按了多次不影响顺序就行)

思路:
双指针
	若第二串字母符合条件,那它所拥有的的字母无非就两种情况
	,第一种是和第一串里面的字母匹配,第二种是和它前面的
	一个字符匹配。
设置指针i,j,若所指内容相同,则都加加判断,若不同,则判断j所指和j-1是否相同,然后只有j++;若不同直接返回false。

代码:
	class Solution {
    public boolean isLongPressedName(String name, String typed) {
        // char[] a = name.toCharArray();
        // char[] b = typed.toCharArray();
        int i=0,j=0;
        while(j<typed.length())
        {
            if(i<name.length() &&name.charAt(i) == typed.charAt(j))
            {
                i++;
                j++;
            }else if(j>0&&typed.charAt(j-1)==typed.charAt(j))
                {
                    j++;
                }
            
            else{
                return false;
            }
        }
        return i==name.length();
        
    }
}
	

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值