你的朋友正在使用键盘输入他的名字 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)链接