文章目录

  • 844. 比较含退格的字符串
    • 分析
    • 代码(重构字符串(通过位置弹出))
      • 通过截图
    • 代码(重构字符串(不断加入和弹出))
      • 通过截图

844. 比较含退格的字符串

给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,请你判断二者是否相等。# 代表退格字符。如果相等,返回 true ;否则,返回 false 。注意:如果对空文本输入退格字符,文本继续为空。示例 1:输入:s = "ab#c", t = "ad#c"
输出:true
解释:S 和 T 都会变成 “ac”。
示例 2:输入:s = "ab##", t = "c#d#"
输出:true
解释:s 和 t 都会变成 “”。
示例 3:输入:s = "a##c", t = "#a#c"
输出:true
解释:s 和 t 都会变成 “c”。
示例 4:输入:s = "a#c", t = "b"
输出:false
解释:s 会变成 “c”,但 t 仍然是 “b”。提示:1 <= s.length, t.length <= 200
s 和 t 只含有小写字母以及字符 '#'进阶:你可以用 O(N) 的时间复杂度和 O(1) 的空间复杂度解决该问题吗?来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/backspace-string-compare
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

分析

  • 1.重构字符串(通过位置弹出),先索引# 的位置,如果他在0位,就弹出一次,如果他在其他位,就弹出两次前一位,第一次弹出前面元素,第二次弹出‘#’元素
  • 2.重构字符串(不断加入和弹出),如果是#且列表数量不为0时,弹出列表元素,如果不是#,就加入到列表,否则不做任何操作

代码(重构字符串(通过位置弹出))

class Solution:def backspaceCompare(self, s: str, t: str) -> bool:s = list(s)t = list(t)while '#' in s:i = s.index('#')if(i == 0):s.pop(0)else:s.pop(i-1)s.pop(i-1)while '#' in t:i = t.index('#')if(i == 0): t.pop(0)else:t.pop(i-1)t.pop(i-1)if s == t:return Trueelse:return False

通过截图

代码(重构字符串(不断加入和弹出))

class Solution:def backspaceCompare(self, s: str, t: str) -> bool:ss = []tt = []for i in s:if i == '#' and len(ss) != 0:ss.pop()elif i != '#':ss.append(i)for i in t:if i == '#' and len(tt) != 0:tt.pop()elif i != '#':tt.append(i)return ss == tt

通过截图

如有错误,敬请指正,欢迎交流,谢谢♪(・ω・)ノ

leetcode844 比较含退格的字符串(python)相关推荐

  1. 【LeetCode844.比较含退格的字符串】——双指针法

    目录: 844.比较含退格的字符串 思考: 利用栈: 双指针法: 844.比较含退格的字符串 给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 true .# 代 ...

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

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

  3. leetcode844. 比较含退格的字符串

    一:题目 二:上码 class Solution {public:/**思路:1.利用栈 我们将字符串中的单个元素都入栈 当遇到'#'的时候将将栈顶元素弹出*/bool backspaceCompar ...

  4. leetcode844. 比较含退格的字符串(栈+双指针)

    一:题目 二:思路+代码 1:利用栈 (1):思路 1.利用栈 我们将字符串中的单个元素都入栈 当遇到'#'的时候将将栈顶元素弹出 (2):上码(方法一) class Solution {public ...

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

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

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

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

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

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

  8. LeetCode第 844 题:比较含退格的字符串(C++)

    844. 比较含退格的字符串 - 力扣(LeetCode) 最终比较的是有效字符串是否相等,所以关键就是如何获取有效字符串. 一开始的思路,类似求字符串的最长子串的思路,利用左右边界的移动,但是写了写 ...

  9. 844. 比较含退格的字符串

    文章目录 844. 比较含退格的字符串 思路--双指针 844. 比较含退格的字符串 844. 比较含退格的字符串 思路–双指针 准备两个指针 endS, endT 分别指向 S,T 的末位字符,再准 ...

最新文章

  1. Oracle Dataguard HA (主备,灾备)方案部署调试
  2. Anaconda中Jupyter notebook打开后闪退问题解决方法
  3. MongoDB入门_MongoDB安装与配置
  4. html5新增标签与删除标签,HTML5新增/删除标签
  5. PyOpenCV 实战:借助视觉识别技术实现围棋终局的胜负判定
  6. mysql限制用户只能访问指定数据库
  7. 【SQL注入16】SQL漏洞利用之读写文件
  8. mysql数据库接收不了中文乱码_mysql数据库 中文乱码
  9. Selenium无法定位的6种解决方案
  10. 【爆肝帝,花费3个月整理】金九银十面试季,2020-2021字节跳动所有,软件测试面试题拿走不谢!(附详细答案解析)
  11. 微信小程序开发——单行文本溢出显示省略号
  12. 联想笔记本重装windows10系统
  13. 【非常重要】运行supervisorctl错误提示【FATAL或BACKOFF 】Exited too quickly (process log may have details)问题总结
  14. 英语学习者的十句经典名言
  15. Oracle如何切换session,oracle修改process和session数
  16. EndPoint详解
  17. 批量修改文件夹或文件名称
  18. PHP的realpath(...)
  19. python表示三个数升序_编写程序,输入三个数,然后以升序显示_学小易找答案
  20. 【Java开发语言 03】第三章 面向对象编程(面向对象与面向过程+类和对象+类成员一:属性+类成员二:方法+对象的创建和使用+封装和隐藏+构造器+关键字this,package,import)

热门文章

  1. 四.结构体性数组在内存的表现形式
  2. jsplumb 系列(一)
  3. 2022年618活动4000价位笔记本推荐
  4. 华为云计算HCIE学习笔记-FusionStorage
  5. Cursor——ChatGPT的替代品【笔记】
  6. 初学AE影视后期的电脑硬件配置知识…
  7. Python滚动条如果滚不动
  8. 计算机的基础操作知识试题,计算机操作基础知识试题(220道)
  9. 我们的新书--《我是一只IT小小鸟》
  10. C语言中的标识符有:关键字、预定义标识符、用户标识符