记录力扣刷题新手村-双指针题
力扣题925
本来想用哈希表来写的,后来发现字符串有顺序要求,哈希表只能查询字符个数是否正确。后来看到别人的题解,使用双指针。
双指针具体用法
思路:
第一个字符串主要使用来匹配字符的。
第二个字符串的两个作用:匹配name中字符以及重复字符。如果typed中有个字符都不满足,就直接返回false。
Java代码
class Solution {
public boolean isLongPressedName(String name, String typed) {
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) == typed.charAt(j-1))
j++;
else
return false;
}
}
return i == name.length();
}
}