leetcode844 比较含退格的字符串(python)
文章目录
- 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)相关推荐
- 【LeetCode844.比较含退格的字符串】——双指针法
目录: 844.比较含退格的字符串 思考: 利用栈: 双指针法: 844.比较含退格的字符串 给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 true .# 代 ...
- leetcode笔记 844比较含退格的字符串 python
给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 true .# 代表退格字符. 示例1: 输入:s = "ab#c", t = " ...
- leetcode844. 比较含退格的字符串
一:题目 二:上码 class Solution {public:/**思路:1.利用栈 我们将字符串中的单个元素都入栈 当遇到'#'的时候将将栈顶元素弹出*/bool backspaceCompar ...
- leetcode844. 比较含退格的字符串(栈+双指针)
一:题目 二:思路+代码 1:利用栈 (1):思路 1.利用栈 我们将字符串中的单个元素都入栈 当遇到'#'的时候将将栈顶元素弹出 (2):上码(方法一) class Solution {public ...
- 每日一道leetcode(python)844. 比较含退格的字符串
每日一道leetcode(python)844. 比较含退格的字符串 2021-09-05 给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果. # 代表 ...
- byte数组转字符串_leetcode刷题844比较含退格的字符串(带代码解析,带知识点回顾)...
844. 比较含退格的字符串 难度:简单 第一:简单浏览一下题目 给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果.# 代表退格字符. 注意:如果对空文 ...
- 减去字符串_leetcode刷题844比较含退格的字符串(带代码解析,带知识点回顾)
844. 比较含退格的字符串 难度:简单 第一:简单浏览一下题目 给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果.# 代表退格字符. 注意:如果对空文 ...
- LeetCode第 844 题:比较含退格的字符串(C++)
844. 比较含退格的字符串 - 力扣(LeetCode) 最终比较的是有效字符串是否相等,所以关键就是如何获取有效字符串. 一开始的思路,类似求字符串的最长子串的思路,利用左右边界的移动,但是写了写 ...
- 844. 比较含退格的字符串
文章目录 844. 比较含退格的字符串 思路--双指针 844. 比较含退格的字符串 844. 比较含退格的字符串 思路–双指针 准备两个指针 endS, endT 分别指向 S,T 的末位字符,再准 ...
最新文章
- Oracle Dataguard HA (主备,灾备)方案部署调试
- Anaconda中Jupyter notebook打开后闪退问题解决方法
- MongoDB入门_MongoDB安装与配置
- html5新增标签与删除标签,HTML5新增/删除标签
- PyOpenCV 实战:借助视觉识别技术实现围棋终局的胜负判定
- mysql限制用户只能访问指定数据库
- 【SQL注入16】SQL漏洞利用之读写文件
- mysql数据库接收不了中文乱码_mysql数据库 中文乱码
- Selenium无法定位的6种解决方案
- 【爆肝帝,花费3个月整理】金九银十面试季,2020-2021字节跳动所有,软件测试面试题拿走不谢!(附详细答案解析)
- 微信小程序开发——单行文本溢出显示省略号
- 联想笔记本重装windows10系统
- 【非常重要】运行supervisorctl错误提示【FATAL或BACKOFF 】Exited too quickly (process log may have details)问题总结
- 英语学习者的十句经典名言
- Oracle如何切换session,oracle修改process和session数
- EndPoint详解
- 批量修改文件夹或文件名称
- PHP的realpath(...)
- python表示三个数升序_编写程序,输入三个数,然后以升序显示_学小易找答案
- 【Java开发语言 03】第三章 面向对象编程(面向对象与面向过程+类和对象+类成员一:属性+类成员二:方法+对象的创建和使用+封装和隐藏+构造器+关键字this,package,import)