双指针,name和typed相同字符则一起向右移动,每次如果typed的字符重复则typed右移,name不动,name移动至尾后,对typed继续右移与name尾字符相同的字符,最终typed如果指针指向尾部则返回ture否则返回false。
var isLongPressedName = function(name, typed) {
let i=0
let j=0
while(i<name.length){
if(name[i]===typed[j]){
i++
j++
} else if(i>0 && typed[j]===name[i-1]){
j++
} else return false
}
while(typed[j]===name[i-1] && j<typed.length){
j++
}
if(typed[j]){
return false
} else {
return true
}
};
网友评论