刷题记录: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;
    }
};
相关推荐
不会代码的小猴15 小时前
C++新增关键字
开发语言·c++·笔记
yaoxin52112315 小时前
497. Java 反射 - 使用反射读取注解
java·开发语言·python
专注仿真15 小时前
问答大模型技术方案算法实现-RAPTOR树构建算法与BEG集成使用
python·算法
liulilittle16 小时前
并发与内存安全术语:定义、分类与关联
c++·安全·并发·术语
_wyt00116 小时前
从图到树:9道洛谷基础题带你入门树形结构
c++·
冯汉栩16 小时前
Swift Control View,Label渐变颜色(源码)
开发语言·ios·swift
zlinear数据采集卡16 小时前
数据采集卡从入门到精通(10):采样率与分辨率的核心关系——反比律、架构分布与过采样
arm开发·嵌入式硬件·算法·fpga开发·架构·开源
Titan202417 小时前
Linux网络基础知识
linux·服务器·网络·c++·学习
从小就看凹凸曼^o^17 小时前
Python基础5 - 字典与集合:(1)字典
开发语言·python
GeekZHR17 小时前
C语言指针进阶补充6:动态内存管理、mem系列内存函数、复杂指针声明,一次补齐指针的“三大盲区“
java·c语言·算法·指针