刷题记录:LeetCode 925.长按键入

题目:

你的朋友正在使用键盘输入他的名字 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;
    }
};
相关推荐
ch0sen1pm几秒前
加班之余从零写了个 spdlog 风格的日志库
c++
JackieZhengChina几秒前
image-viewer-js 开源图片查看插件完整教程
开发语言·javascript·开源
QN1幻化引擎8 分钟前
Gravity-Anchored Cognitive Field Architecture: The DalinX V8/V10 Implementation
java·前端·算法
吃着火锅x唱着歌11 分钟前
Effective C++ 学习笔记 条款33 避免遮掩继承来的名称
c++·笔记·学习
光影少年13 分钟前
react的View/Text/Image/ScrollView 常用组件注意事项
开发语言·前端·javascript·react.js·前端框架
学计算机的计算基38 分钟前
LeetCode 图论四题精讲:BFS、拓扑排序、Trie 树的模板与优化
java·笔记·算法
浩瀚地学39 分钟前
【面试算法笔记】0202-链表-基本功能实现
java·经验分享·笔记·算法·面试
tkevinjd1 小时前
416分割等和子集
java·python·算法·leetcode·职场和发展
Keven_111 小时前
算法札记:Tarjan与拓扑序(Topo)的关系
算法·拓扑·tarjan
库克克1 小时前
【C++】类和对象--类对象模型与大小计算
开发语言·jvm·c++