刷题记录: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;
    }
};
相关推荐
集思广益的灰太狼3 分钟前
变频器启动致PLC数据异常?西门子G120配合滤波器EMC抑制方案
人工智能·算法·工控·emc·电磁兼容·变频器·西门子
孙克旭_13 分钟前
单链表进阶实操:5 道常考面试题详细解析【Java 实现】
java·开发语言·数据结构·单链表
Titan202415 分钟前
HTTPS基础知识梳理
服务器·网络·c++·网络协议·学习·http·https
艾莉丝努力练剑17 分钟前
【AI大模型接入SDK】SSE协议
c++·学习·面试·大模型·sdk
斑马13919 分钟前
Linux软件编程学习笔记(五)——线程
开发语言·php
方方洛19 分钟前
vllm教程-03-架构设计
算法·架构
玄昌盛不会编程21 分钟前
LeetCode——2091. 从数组中移除最大值和最小值
java·算法·leetcode
吴声子夜歌25 分钟前
Java——数组和集合(一)
java·开发语言
呆呆敲代码的小Y32 分钟前
Lua 上值(UpValue)
开发语言·junit·lua·lua上值·upvalue
如何取名33 分钟前
结合实际业务进行LRU淘汰算法优化设计(数据库开发日志)
数据库·算法