LeetCode的925.长按键入

it2024-12-16  13

这一题是比较简单的,分别遍历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; } }
最新回复(0)