LeetCode的925.长按键入

在这里插入图片描述
在这里插入图片描述

这一题是比较简单的,分别遍历name字符串和typed字符串进行比较就可以解决问题。

代码

class Solution {
    	   public static  boolean isLongPressedName(String name, String typed) {
	        //用nn和tt两个字符数组暂存name和typed两个字符串
	        char[]nn=name.toCharArray();
	        char[]tt=typed.toCharArray();		
	        //如果nn的长度为0,或者nn比tt长,或者nn[0]不等于tt[0],返回false
            if(nn.length==0||nn.length>tt.length||nn[0]!=tt[0])
	        	return false;
	        //开始遍历两个数组
	        int i=1;int j=1;
            while(i<nn.length&&j<tt.length){
	            //如果两数组当前下标位置字符相等,继续遍历,否则继续判断tt数组当前下标与前一下标位置的字符
	            if(nn[i]!=tt[j]) {
	        	    if(tt[j]==tt[j-1])
	        		    {
	        			    j++;
	        		    }
	        		else 
	        		    return false;
	        	    }
	        	else {
	        		i++;
                    j++;
	        	    }
	            }
	        //如果nn遍历完毕,tt未遍历完,继续遍历tt看tt剩下来的字符是否相等与nn的最后一个字符相等
	        //如果tt遍历完,直接正确。
	        if(i==nn.length) {
	        	--i;
	        	while(j<tt.length) {
	        		if(tt[j]!=nn[i])
	        			return false;
	        		j++;
	        	}
	            return true;
                }
	        else	        	
	            return false;
	    }
	    }
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值