文章目录

  • 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. 比较含退格的字符串相关推荐

  1. byte数组转字符串_leetcode刷题844比较含退格的字符串(带代码解析,带知识点回顾)...

    844. 比较含退格的字符串 难度:简单 第一:简单浏览一下题目 给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果.# 代表退格字符. 注意:如果对空文 ...

  2. 减去字符串_leetcode刷题844比较含退格的字符串(带代码解析,带知识点回顾)

    844. 比较含退格的字符串 难度:简单 第一:简单浏览一下题目 给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果.# 代表退格字符. 注意:如果对空文 ...

  3. 每日一道leetcode(python)844. 比较含退格的字符串

    每日一道leetcode(python)844. 比较含退格的字符串 2021-09-05 给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果. # 代表 ...

  4. 日拱一卒——LeetCode 844.比较含退格的字符串

    大家好呀,今天为大家带来的LeetCode的题目是LeetCode 844.比较含退格的字符串.算是一道比较基础的题目. 题目 分析 这道题目相对简单,主要就是将时间复杂度和空间复杂度降低下来. 解法 ...

  5. 844. 比较含退格的字符串(双指针)

    844. 比较含退格的字符串 示例 1: 输入:s = "ab#c", t = "ad#c" 输出:true 解释:s 和 t 都会变成 "ac&qu ...

  6. leetcode系列-844.比较含退格的字符串

    leetcode系列–第844题.比较含退格的字符串 给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 true .# 代表退格字符.注意:如果对空文本输入退格字 ...

  7. leetcode 844. 比较含退格的字符串

    给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果. # 代表退格字符. 注意:如果对空文本输入退格字符,文本继续为空. 示例 1: 输入:S = &qu ...

  8. 【Leetcode-算法】844. 比较含退格的字符串(C++)

    给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果. # 代表退格字符.注意:如果对空文本输入退格字符,文本继续为空. 思路: 两个思路. 第一种思路是用 ...

  9. leetcode笔记 844比较含退格的字符串 python

    给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 true .# 代表退格字符. 示例1: 输入:s = "ab#c", t = " ...

最新文章

  1. 安装ssd后不识别网卡_缓冲床安装后不耐磨 缓冲条应该如何选择
  2. protoc gen php,protoc-gen-php --php_out: protoc-gen-php: Plugin output is unparseable.
  3. Centos7 Kubernetes1.8+docker容器集群
  4. android控件ems,Android登录等待效果
  5. Windows中获取Redis指定前缀的Key并删除掉
  6. RabbitMQ自学之路(九)——RabbitMQ实现延时队列的两种方式
  7. 同步本地远程分支 git remote prune origin
  8. 告诉各位为如何学习linux系统
  9. 给P40让路!华为Mate 30 5G降至这个价,还贵吗?
  10. 某人说自己是佛菩萨转世,什么情况下才可信
  11. Win11硬盘安装方法介绍 Win11系统硬盘安装教程
  12. SCC4-设置系统是否可编辑状态(后台配置)
  13. QAxObject类操作Excel过程总结
  14. 三天学会MySQL - MySQL数据库章节练习
  15. 数据结构与算法笔记:贪心策略之BSTBBST, Hashtable+Dictionary+Map, Priority Queue~Heap, Minium Spanning Tree
  16. VMware虚拟机安装及Linux系统的配置
  17. 服务器中内存不够的原因
  18. Visual studio 2019 社区版下载和安装
  19. 我的一加5刷机基本步骤
  20. lightdb中审计日志的设置以及lightdb-em中审计日志的使用

热门文章

  1. nodejs express搭建服务器(爬虫知乎精华帖,个人学习用)六 html
  2. cnn 分层 可视化 网站_如何可视化分层数据以显示整体关系
  3. Copyright中的年份是什么意思
  4. 管理学一些常用定律(转)
  5. AUC/ROC:面试中80%都会问的知识点
  6. MySQL理论:脏读、不可重复读、幻读
  7. 飞机机翼机身对接结构数值计算分析(ANSYS)
  8. 主板下有螺母垫板的拧螺丝的CPU散热器,螺母垫板的固定一法
  9. ftp协议c语言实现-linux平台
  10. 2018中国大学生程序设计竞赛 - 网络选拔赛