刷题记录: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;
    }
};
相关推荐
co_wait8 分钟前
【C语言】字符串处理函数
c语言·开发语言
fie88899 分钟前
C# 文件分割与合并工具设计与实现
开发语言·c#
激昂网络12 分钟前
用CT001解读Type-C线材设计:为什么只有一个CC灯亮?
c语言·开发语言·嵌入式硬件
soragui14 分钟前
【Python】第 2 章:Python 对象模型
开发语言·python
攒了一袋星辰23 分钟前
SequenceGenerator废弃序列号异步补偿机制技术实现方案
java·开发语言·数据库·mysql
大黄说说25 分钟前
Java集合框架深度解析:ArrayList与LinkedList的底层博弈
开发语言
南境十里·墨染春水25 分钟前
C++ 笔记 仿函数(函数对象)
开发语言·c++·笔记
算AI25 分钟前
重绘多孔世界的蓝图:GAN助力多孔材料的数字重构
人工智能·深度学习·算法·机器学习·生成对抗网络·ai
快乐的划水a29 分钟前
封装动态库并调用
c++
ZPC821029 分钟前
手柄替代键盘
人工智能·算法·性能优化·机器人