题目:
你的朋友正在使用键盘输入他的名字 name
。偶尔,在键入字符 c
时,按键可能会被长按,而字符可能被输入 1 次或多次。
你将会检查键盘输入的字符 typed
。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按),那么就返回 True
。
class Solution {
public:
bool isLongPressedName(string name, string typed) {
int nn = 0;
int tt = 0;
while (nn < name.size() || tt < typed.size())
{
if (name[nn] == typed[tt])
{
nn++;
tt++;
}
else
{
if (tt == 0) return false;
else
{
while (tt < typed.size() && typed[tt - 1] == typed[tt]) tt++;
if (name[nn] != typed[tt]) return false;
else
{
tt++;
nn++;
}
}
}
}
if (tt < typed.size()) return false;
return true;
}
};