力扣第二天,今天遇到一道easy,不用cv我也做出来,(手动狗头)。

刻意+坚持

给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。

在 S 上反复执行重复项删除操作,直到无法继续删除。

在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。

示例:

输入:"abbaca"
输出:"ca"
解释:
例如,在 "abbaca" 中,我们可以删除 "bb" 由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。之后我们得到字符串 "aaca",其中又只有 "aa" 可以执行重复项删除操作,所以最后的字符串为 "ca"。

提示:

1 <= S.length <= 20000
S 仅由小写英文字母组成。

题目是最多有两个重复的字符,最开始是想用遍历+加while循环来搞,这样其实针对这道题有点多余,同时边界条件不好控制

再想想,其实就是个栈匹配问题,遇到相同字符弹出栈顶,不同字符压入。最后把栈中字符连接成字符串,返回。

class Solution(object):def removeDuplicates(self, s):""":type S: str:rtype: str"""N=len(s)stack = []for ch in s:if len(stack)>0 and ch==stack[-1]:stack.pop()else:stack.append(ch)# s = ""# for ch in stack:#     s+=chreturn ''.join(stack) 

【1047】删除字符串中的所有相邻重复项相关推荐

  1. Suzy找到实习了吗Day 11 |栈与队列中途 20. 有效的括号,1047. 删除字符串中的所有相邻重复项,150. 逆波兰表达式求值

    Day 11 20. 有效的括号 1047. 删除字符串中的所有相邻重复项 150. 逆波兰表达式求值 20. 有效的括号 注意栈不是一个数据结构,需要自己用list实现栈的逻辑 class Solu ...

  2. 算法训练Day11|LeetCode 20. 有效的括号、1047. 删除字符串中的所有相邻重复项、150. 逆波兰表达式求值

    题目链接:20. 有效的括号 第一种情况:已经遍历完了字符串,但是栈不为空,说明有相应的左括号没有右括号来匹配,所以return false 第二种情况:遍历字符串匹配的过程中,发现栈里没有要匹配的字 ...

  3. 算法训练第十一天|力扣20. 有效的括号,1047. 删除字符串中的所有相邻重复项,150. 逆波兰表达式求值

    20. 有效的括号 题目链接:有效的括号 参考:https://programmercarl.com/0020.%E6%9C%89%E6%95%88%E7%9A%84%E6%8B%AC%E5%8F%B ...

  4. 算法训练Day11 | LeetCode232. 用栈实现队列(模拟);225.用队列实现栈(模拟);20. 有效的括号(栈应用);1047. 删除字符串中的所有相邻重复项(栈应用)

    目录 LeetCode232.用栈实现队列 1. 思路 2. 代码实现 3. 复杂度分析 4. 思考 LeetCode225. 用队列实现栈 1. 思路 2. 代码实现 3. 复杂度分析 4. 思考 ...

  5. 代码随想录算法训练Day11 LeetCode232. 用栈实现队列(模拟);225.用队列实现栈(模拟);20. 有效的括号(栈应用);1047. 删除字符串中的所有相邻重复项(栈应用)

    代码随想录算法训练Day11 | LeetCode232. 用栈实现队列(模拟):225.用队列实现栈(模拟):20. 有效的括号(栈应用):1047. 删除字符串中的所有相邻重复项(栈应用) 关于栈 ...

  6. 【Leetcode栈与队列】1047.删除字符串中的所有相邻重复项 6120.数组能形成多少数对(一些题外话和做题经验!!看作对对碰游戏!!)

    文章目录 题外话 1.游戏开发可能使用栈结构 2.编程语言的一些功能实现也会使用栈结构 Leetcode 1047.删除字符串中的所有相邻重复项 1.问题描述 2.解决方案 Leetcode 6120 ...

  7. 1047. 删除字符串中的所有相邻重复项

    删除字符串中的所有相邻重复项 题目 分析 我的解答 题目 删除字符串中的所有相邻重复项 给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们. 在 S 上反复执行重复项 ...

  8. python 字符串删除重复_leetcode No.1047 删除字符串中的所有相邻重复项

    题目链接: 删除字符串中的所有相邻重复项 - 力扣(LeetCode)​leetcode-cn.com 题目描述: 给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们 ...

  9. 1047.删除字符串中的所有相邻重复项

    给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们. 在 S 上反复执行重复项删除操作,直到无法继续删除. 在完成所有重复项删除操作后返回最终的字符串.答案保证唯一. ...

  10. leetcode 1047. 删除字符串中的所有相邻重复项(栈)

    给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们. 在 S 上反复执行重复项删除操作,直到无法继续删除. 在完成所有重复项删除操作后返回最终的字符串.答案保证唯一. ...

最新文章

  1. 产业互联网受瞩目:互联网主战场从To C转向To B | 企鹅经济学
  2. domino大百科常见问题总汇1(转载)
  3. 04-经典老歌(2000年后)
  4. 工作总结17:组件封装思想
  5. centos7 編譯 chmsee
  6. .net core 常见设计模式-IChangeToken
  7. oracle数据库文件dbf复制#ocp试验#
  8. crontab导致磁盘空间满问题的解决
  9. wine QQ安装笔记
  10. 使用pyspider框架抓取猫途鹰旅游信息
  11. hibernate插件下载
  12. Postman如何生成测试报告
  13. 音视频-Video标签整理(属性、方法、事件)
  14. 一根竹子,4天的生长过程
  15. 从0开始学大数据(一)
  16. 机器人视觉分拣设计流程
  17. 微信小程序的推广思路与方法,详细思路解析
  18. C++STL算法 search你是我的半截的诗
  19. android 高德地图GPS点校正
  20. 计算机本体应用,本体评估方法研究综述

热门文章

  1. 20、Docker基础知识-Image Index 和 manifest
  2. 哲学家就餐(linux多线程)
  3. 20150906全志a33上调通rtl8188eus的过程(sina33)
  4. echarts中渐变色的使用
  5. 解决Identify and stop the process that‘s listening on port 8080 端口问题
  6. 上海计算机一级优秀率,数据 | 上海初中哪家强?2020四校八大预录数据告诉你!...
  7. 胡伟立-孤独[影视配乐扒曲]
  8. jQuery 效果- 隐藏和显示
  9. 用计算机在作文格中打单字字,描写一个字的作文
  10. 中国科学院大学计算机学院夏令营,2019年中国科学院大学生数学夏令营招募通知...