刷题记录: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;
    }
};
相关推荐
虚心的百褶裙12 分钟前
JavaScript性能优化
开发语言·javascript·性能优化
凯瑟琳.奥古斯特18 分钟前
二分查找解力扣1011最优运载能力
开发语言·c++·算法·leetcode·职场和发展
学计算机的计算基26 分钟前
二叉树算法下篇:递归核心技巧与高频面试题详解
java·笔记·算法
WZF-Sang27 分钟前
TCP和UDP协议
linux·服务器·网络·c++·学习·tcp/ip·udp
Tim_1036 分钟前
【C++】014、左值与右值的区别
开发语言·c++
想人陪的玫瑰37 分钟前
winform 能用 Native AOT 吗?——TDS 项目的实战尝试
c++·mfc
水龙吟啸38 分钟前
华为2026.6.24机考选择题+编程题【速刷敲黑板】
人工智能·深度学习·算法·机器学习·华为
天空'之城42 分钟前
Linux 系统编程 14:Reactor 反应堆模式
linux·开发语言·网络编程·reactor 反应堆模式
Eloudy1 小时前
全文 - Evolution Strategies as a Scalable Alternative to Reinforcement Learning
人工智能·算法
Zhou1411361 小时前
Java常见面试题7
java·开发语言