给定 st 两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 true# 代表退格字符。

示例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 = "b"
输出:false
解释:s 会变成 "c",但 t 仍然是 "b"。

第一次思路:

先将字符串转换为列表,再通过分别循环两个列表,删除掉“#”及其前一个索引的内容,最后比较两个列表是否一致。

需要进行边界判断,否则若第一个字符就为“#”的话会报错

还需要加上条件,当移动的指针下溢出边界则对其赋值为0(如输入字符为“a#b#”时,当指针走到第二个#,此时n=1,n-2=-1超出索引范围)

class Solution:def backspaceCompare(self, s: str, t: str) -> bool:l1 = list(s)l2 = list(t)n = m = 0while n <= len(l1) - 1:        if l1[0] == '#':l1.remove(l1[0])if  l1[n] == '#':l1.remove(l1[n])l1.remove(l1[n-1])n -= 2if n < 0:n = 0else:n += 1while m  <= len(l2) - 1:if l2[0] == '#':l2.remove(l2[0])if  l2[m] == '#':l2.remove(l2[m])l2.remove(l2[m-1])                m -= 2if m < 0:m = 0else:m += 1return (l1 == l2)

提交后有示例未通过

原因是list.remove是按元素删除,remove() 方法只会删除第一个和指定值相同的元素所以会存在错误,换成pop(index)方法就可以了

class Solution:def backspaceCompare(self, s: str, t: str) -> bool:l1 = list(s)l2 = list(t)n = m = 0while n <= len(l1) - 1:        if  l1[n] == '#':l1.pop(n)if n != 0:l1.pop(n-1)n -= 1else:n += 1while m  <= len(l2) - 1:        if  l2[m] == '#':l2.pop(m)if m !=0:l2.pop(m-1)m -= 1else:m += 1return (l1 == l2)

leetcode笔记 844比较含退格的字符串 python相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. UVa-10820 Send a Table 欧拉函数
  2. Android Studio 3.1无法导入模块的解决办法
  3. JFreechart 在linux下不显示及中文乱码问题
  4. 【贪心】牛客网:把数组排成最小的数
  5. Stanford机器学习---第4讲. 神经网络的表示 Neural Networks representation
  6. ubuntu1604 克隆虚拟机后续:修改用户名、主机名和组名
  7. PHP-Web聊天室 一天即可打造自己的聊天室-严双双-专题视频课程
  8. 长期主义:永远做你余生中最重要的事!
  9. 关于Euler-Poisson积分的几种解法
  10. 程序员常用的这十个电子书下载网站,你值得拥有
  11. 杂记 - 0002 - 衣服 - 尺寸表与跳码
  12. 第一篇自用博客:git的操作(防忘记用的hh)封面是我最爱的歌手ikura强推她的每一首歌,简直就是行走的唱片啊有木有!
  13. 中国程序员的真实工资亦或幸福指数
  14. spssfisher判别分析步骤_spss进行判别分析步骤_spss判别分析结果解释_spss判别分析案例详解...
  15. 2015年11月小结
  16. 《LeGO-LOAM: Lightweight and Ground-OptimizedLidar Odometry and Mapping on Variable Terrain》论文精读
  17. html画布时钟添加背景图,用HTML5 Canvas 实现的 时钟
  18. c语言指针作用一句话,C语言指针是什么?C语言指针的概念。
  19. python基础之写文件操作
  20. 算法的时间与空间复杂度介绍

热门文章

  1. Servlet概念性回顾(结合Ajax)
  2. (翻译)活动日历(Event Calendar)
  3. [08.30][美国][喜剧][怪物史莱克3][DVD-R/365M][中字][07最新票房大片DVD版]
  4. 企业管理系统类型有哪些?企业管理系统如何选型?
  5. Excel 如何让日期单元格随着某个单元格的修改而自动更新日期
  6. 修改数据包欺骗服务器,关于arp欺骗修改数据包
  7. /etc/sysconfig/目录详解
  8. 搭建Discuz论坛网站-最新版Discuz3.4
  9. 图像处理--边缘检测
  10. 使用VMware对英伟达xavier nx2进行刷机