赞
踩
题目:
你的朋友正在使用键盘输入他的名字 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;
- }
- };
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。