刷题记录: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;
    }
};
相关推荐
Python图像识别-12 分钟前
基于yolov8的钢铁缺陷检测系统-2027毕业版(UI界面+Python项目源码+模型+标注好的数据集)
开发语言·python·yolo
sycmancia3 分钟前
Qt——多线程与界面组件的通信
开发语言·qt·算法
你驴我5 分钟前
WhatsApp 多账号消息路由中的去重与顺序保证实践
开发语言·php
想吃火锅100522 分钟前
【leetcode】5.最长回文子串js
算法·leetcode·职场和发展
盐焗鹌鹑蛋26 分钟前
【C++】C++11:右值引用、移动语义万能引用
c++
LingzhiPi33 分钟前
零知ESP32--RC522NFC考勤打卡系统
c++·单片机·嵌入式硬件
CoderYanger37 分钟前
A.每日一题:1967题+1331题
java·程序人生·算法·leetcode·面试·职场和发展·学习方法
wordpress资料库38 分钟前
Next.js更适合移动开发 不适合web开发
开发语言·前端·javascript·next.js
wujf9038 分钟前
Go 内存泄漏排查完整教程 (pprof)
开发语言·golang·xcode