leetcode笔记 844比较含退格的字符串 python
给定 s
和 t
两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 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相关推荐
- leetcode系列-844.比较含退格的字符串
leetcode系列–第844题.比较含退格的字符串 给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 true .# 代表退格字符.注意:如果对空文本输入退格字 ...
- 每日一道leetcode(python)844. 比较含退格的字符串
每日一道leetcode(python)844. 比较含退格的字符串 2021-09-05 给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果. # 代表 ...
- 日拱一卒——LeetCode 844.比较含退格的字符串
大家好呀,今天为大家带来的LeetCode的题目是LeetCode 844.比较含退格的字符串.算是一道比较基础的题目. 题目 分析 这道题目相对简单,主要就是将时间复杂度和空间复杂度降低下来. 解法 ...
- byte数组转字符串_leetcode刷题844比较含退格的字符串(带代码解析,带知识点回顾)...
844. 比较含退格的字符串 难度:简单 第一:简单浏览一下题目 给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果.# 代表退格字符. 注意:如果对空文 ...
- 减去字符串_leetcode刷题844比较含退格的字符串(带代码解析,带知识点回顾)
844. 比较含退格的字符串 难度:简单 第一:简单浏览一下题目 给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果.# 代表退格字符. 注意:如果对空文 ...
- 844. 比较含退格的字符串
文章目录 844. 比较含退格的字符串 思路--双指针 844. 比较含退格的字符串 844. 比较含退格的字符串 思路–双指针 准备两个指针 endS, endT 分别指向 S,T 的末位字符,再准 ...
- 844. 比较含退格的字符串(双指针)
844. 比较含退格的字符串 示例 1: 输入:s = "ab#c", t = "ad#c" 输出:true 解释:s 和 t 都会变成 "ac&qu ...
- leetcode 844. 比较含退格的字符串
给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果. # 代表退格字符. 注意:如果对空文本输入退格字符,文本继续为空. 示例 1: 输入:S = &qu ...
- 【Leetcode-算法】844. 比较含退格的字符串(C++)
给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果. # 代表退格字符.注意:如果对空文本输入退格字符,文本继续为空. 思路: 两个思路. 第一种思路是用 ...
最新文章
- UVa-10820 Send a Table 欧拉函数
- Android Studio 3.1无法导入模块的解决办法
- JFreechart 在linux下不显示及中文乱码问题
- 【贪心】牛客网:把数组排成最小的数
- Stanford机器学习---第4讲. 神经网络的表示 Neural Networks representation
- ubuntu1604 克隆虚拟机后续:修改用户名、主机名和组名
- PHP-Web聊天室 一天即可打造自己的聊天室-严双双-专题视频课程
- 长期主义:永远做你余生中最重要的事!
- 关于Euler-Poisson积分的几种解法
- 程序员常用的这十个电子书下载网站,你值得拥有
- 杂记 - 0002 - 衣服 - 尺寸表与跳码
- 第一篇自用博客:git的操作(防忘记用的hh)封面是我最爱的歌手ikura强推她的每一首歌,简直就是行走的唱片啊有木有!
- 中国程序员的真实工资亦或幸福指数
- spssfisher判别分析步骤_spss进行判别分析步骤_spss判别分析结果解释_spss判别分析案例详解...
- 2015年11月小结
- 《LeGO-LOAM: Lightweight and Ground-OptimizedLidar Odometry and Mapping on Variable Terrain》论文精读
- html画布时钟添加背景图,用HTML5 Canvas 实现的 时钟
- c语言指针作用一句话,C语言指针是什么?C语言指针的概念。
- python基础之写文件操作
- 算法的时间与空间复杂度介绍
热门文章
- Servlet概念性回顾(结合Ajax)
- (翻译)活动日历(Event Calendar)
- [08.30][美国][喜剧][怪物史莱克3][DVD-R/365M][中字][07最新票房大片DVD版]
- 企业管理系统类型有哪些?企业管理系统如何选型?
- Excel 如何让日期单元格随着某个单元格的修改而自动更新日期
- 修改数据包欺骗服务器,关于arp欺骗修改数据包
- /etc/sysconfig/目录详解
- 搭建Discuz论坛网站-最新版Discuz3.4
- 图像处理--边缘检测
- 使用VMware对英伟达xavier nx2进行刷机