844. 比较含退格的字符串
文章目录
- 844. 比较含退格的字符串
- 思路--双指针
844. 比较含退格的字符串
844. 比较含退格的字符串
思路–双指针
准备两个指针 endS, endT 分别指向 S,T 的末位字符,再准备两个变量 countS,countT 来分别存放 S,T 字符串中的 # 数量。
从后往前遍历 SS,所遇情况有三,如下所示:
1 若当前字符是 #,则 countS 自增 1;
2 若当前字符不是 #,且 countS不为 0,则 countS自减 1;
3 若当前字符不是 #,且 countS为 0,则代表当前字符不会被消除,我们可以用来和 T 中的当前字符作比较。
若对比过程出现 S, T 当前字符不匹配,则遍历结束,返回 false;
若 S,T 都遍历结束,且都能一一匹配,则返回 true;
若S, T长度不一,则表示匹配失败,返回true;
class Solution {public:bool backspaceCompare(string s, string t) {int endS = s.size()-1;int endT = t.size()-1;int countS = 0;int countT = 0;//找#同时去除#,比较不是#就开始比较字符while(endS >=0 || endT >=0){//找S字符串的#号,同时消除while(endS >= 0){ if(s[endS] == '#'){countS++;endS--;}else if(countS > 0){ countS--;endS--;}else{break;}}//找T字符串的#号,同时消除while(endT >= 0){if(t[endT] == '#'){countT++; endT--;}else if(countT > 0){countT--;endT--;}else{break;}}//退出上面两个循环,判断是否为长短不一的字符串,或者是否为同时结束字符串if(endS < 0 || endT < 0)break;//匹配字符if(s[endS] !=t[endT]){return false;}else{endS--;endT--;}}//这是同时退出字符串的情况,也就是同时匹配完if(endS <0 && endT< 0){return true;}//这是长短不一的情况return false;}
};
844. 比较含退格的字符串相关推荐
- byte数组转字符串_leetcode刷题844比较含退格的字符串(带代码解析,带知识点回顾)...
844. 比较含退格的字符串 难度:简单 第一:简单浏览一下题目 给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果.# 代表退格字符. 注意:如果对空文 ...
- 减去字符串_leetcode刷题844比较含退格的字符串(带代码解析,带知识点回顾)
844. 比较含退格的字符串 难度:简单 第一:简单浏览一下题目 给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果.# 代表退格字符. 注意:如果对空文 ...
- 每日一道leetcode(python)844. 比较含退格的字符串
每日一道leetcode(python)844. 比较含退格的字符串 2021-09-05 给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果. # 代表 ...
- 日拱一卒——LeetCode 844.比较含退格的字符串
大家好呀,今天为大家带来的LeetCode的题目是LeetCode 844.比较含退格的字符串.算是一道比较基础的题目. 题目 分析 这道题目相对简单,主要就是将时间复杂度和空间复杂度降低下来. 解法 ...
- 844. 比较含退格的字符串(双指针)
844. 比较含退格的字符串 示例 1: 输入:s = "ab#c", t = "ad#c" 输出:true 解释:s 和 t 都会变成 "ac&qu ...
- leetcode系列-844.比较含退格的字符串
leetcode系列–第844题.比较含退格的字符串 给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 true .# 代表退格字符.注意:如果对空文本输入退格字 ...
- leetcode 844. 比较含退格的字符串
给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果. # 代表退格字符. 注意:如果对空文本输入退格字符,文本继续为空. 示例 1: 输入:S = &qu ...
- 【Leetcode-算法】844. 比较含退格的字符串(C++)
给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果. # 代表退格字符.注意:如果对空文本输入退格字符,文本继续为空. 思路: 两个思路. 第一种思路是用 ...
- leetcode笔记 844比较含退格的字符串 python
给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 true .# 代表退格字符. 示例1: 输入:s = "ab#c", t = " ...
最新文章
- 安装ssd后不识别网卡_缓冲床安装后不耐磨 缓冲条应该如何选择
- protoc gen php,protoc-gen-php --php_out: protoc-gen-php: Plugin output is unparseable.
- Centos7 Kubernetes1.8+docker容器集群
- android控件ems,Android登录等待效果
- Windows中获取Redis指定前缀的Key并删除掉
- RabbitMQ自学之路(九)——RabbitMQ实现延时队列的两种方式
- 同步本地远程分支 git remote prune origin
- 告诉各位为如何学习linux系统
- 给P40让路!华为Mate 30 5G降至这个价,还贵吗?
- 某人说自己是佛菩萨转世,什么情况下才可信
- Win11硬盘安装方法介绍 Win11系统硬盘安装教程
- SCC4-设置系统是否可编辑状态(后台配置)
- QAxObject类操作Excel过程总结
- 三天学会MySQL - MySQL数据库章节练习
- 数据结构与算法笔记:贪心策略之BSTBBST, Hashtable+Dictionary+Map, Priority Queue~Heap, Minium Spanning Tree
- VMware虚拟机安装及Linux系统的配置
- 服务器中内存不够的原因
- Visual studio 2019 社区版下载和安装
- 我的一加5刷机基本步骤
- lightdb中审计日志的设置以及lightdb-em中审计日志的使用