//字符串匹配模式,在typed中查找name
public boolean isLongPressedName(String name, String typed) {
//定義兩個指針
//名字字符串指針
int nameIndex = 0;
//輸入的字符串的指針
int typedIndex =0;
if(name.length()> typed.length()) return false;
while(nameIndex<name.length()&&typedIndex<typed.length()){
//在人名字符串中連續兩個字符相等
if(nameIndex<name.length()-1&&name.charAt(nameIndex)==name.charAt(nameIndex+1)){
//在輸入的字符串中不能去重,正常處理
if(name.charAt(nameIndex)!=typed.charAt(typedIndex)) return false;
nameIndex++;
typedIndex++;
}else{//在人名字符串中不存在連續的重複字符串,則在輸入字符串需要跳過重複的字符串
//存在重複字符串
while(typedIndex<typed.length()-1&&typed.charAt(typedIndex)==typed.charAt(typedIndex+1)){
typedIndex++;
}
//跳過重複字符串若不相等則返回false
if(name.charAt(nameIndex)!=typed.charAt(typedIndex)) return false;
nameIndex++;
typedIndex++;
}
}
if(nameIndex<name.length()||typedIndex<typed.length()) return false;
return true;
}
LeetCode925 長俺鍵入
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.