双指针。不会写。
https://leetcode.cn/problems/long-pressed-name/description/
java
class Solution {
public boolean isLongPressedName(String name, String typed) {
int len1=name.length();
int len2=typed.length();
int i=0,j=0;
while(i<len1&&j<len2){
if(name.charAt(i)!=typed.charAt(j)){
if(j==0){
return false;//第一个字符就不相同
}
else{
while(j<len2&&typed.charAt(j-1)==typed.charAt(j)){
j++;//跳过typed中的重复字符,下一个j就是跟前一个字符不重复的
}
if(j>=len2||name.charAt(i)!=typed.charAt(j)){
return false;
}
}
}
i++;
j++;
}
if(i<len1) return false;//name还没被匹配完
while(j<len2){
if(typed.charAt(j-1)!=typed.charAt(j)){
return false;//跟前一个数不一样,说明不是name的
}
else{
j++;//继续遍历直到结束
}
}
return true;
}
}
