925. 长按键入
你的朋友正在使用键盘输入他的名字 name。偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次。
你将会检查键盘输入的字符 typed。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按),那么就返回 True。
这题模拟的字符串输入错误问题,相对比较简单,采用双指针就可以解决了,C++的实现代码如下:
class Solution {
public:
bool isLongPressedName(string name, string typed) {
int indexName=0;
int indexType=0;
for (;indexType<typed.length();)
{
if(indexName<name.length()&&name[indexName]==typed[indexType])
{
++indexName;
++indexType;
}
else if(indexType>0 && typed[indexType-1]==typed[indexType])
{
++indexType;
}
else return false;
}
return indexName == name.length();
}
};
运行效果:
来源:力扣(LeetCode)链接