当前位置: 首页 > news >正文

算法训练营第十九天| 1047. 删除字符串中的所有相邻重复项

今日学习内容:1047. 删除字符串中的所有相邻重复项。
今日任务: 把1047解决。
题目链接:力扣1047
视频链接:https://www.bilibili.com/video/BV12a411P7mw

文章目录

  • 解题思路
  • 一、看题首要反应
  • 二、代码实现
    • 1.栈模拟解法
    • 2.注意点
  • 今日心得

解题思路

直接用字符串模拟栈,不用原生 stack,更高效简洁。

  1. 遍历字符串:依次读取字符串中的每一个字符。
  2. 利用栈进行匹配:
    如果栈为空,或者当前字符与栈顶字符不相同,说明没有形成相邻重复项,将当前字符压入栈中。
    如果当前字符与栈顶字符相同,说明找到了一对相邻重复项,此时将栈顶字符弹出(相当于把这一对重复字符都删除了)。
  3. 构造结果:遍历完成后,栈中剩下的字符就是最终的结果。

一、看题首要反应

删除相邻重复项,是栈的经典应用题。不用额外开栈,直接用字符串当栈用,末尾就是栈顶,相同就删除,不同就尾插

二、代码实现

1.栈模拟解法

代码如下:

C++版本

classSolution{public:stringremoveDuplicates(string s){string res;for(charc:s){if(!res.empty()&&res.back()==c){res.pop_back();}else{res.push_back(c);}}returnres;}};

2.注意点

用 stack 容器的话,写法冗余、效率低。换思路:可以直接用字符串模拟栈

原因是:

  1. 本题不需要栈的复杂操作,字符串的 back()、pop_back() 完全可以替代栈顶、出栈。
  2. 原生栈还要逆序拼接,容易写错顺序,字符串模拟栈直接就是正序结果。

改用字符串充当栈,直接遍历比对末尾字符,省去逆序拼接步骤。


今日心得

遇到相邻消除类题目,优先想到用字符串当栈,简洁又高效。
栈类题目不一定非要用 stack 容器,灵活用字符串、数组模拟栈,能简化代码、避开顺序反转的坑。

坚持每日一题,稳步提升算法能力,继续加油!

http://www.jsqmd.com/news/736144/

相关文章:

  • Hive分区表数据清理实战:从‘清空2020年男生数据’案例讲起
  • 3分钟搞定NCM转换:ncmdump终极解密指南,让网易云音乐真正属于你
  • 2026工业高压清洗机厂家权威推荐榜:标杆推荐解析 - 优质品牌商家
  • Uni-Mol如何解决传统分子表示学习的3大技术瓶颈:从3D构象到蛋白质对接的完整技术栈解析
  • OpenUSD与AI如何革新广告制作流程
  • KNIME Hub实战:如何像搭积木一样,复用社区工作流加速你的数据科学项目?
  • 2026届毕业生推荐的十大AI科研网站解析与推荐
  • 告别配置冲突!手把手教你用LIN总线搞定汽车节点NAD与PID分配(附实战代码)
  • 3步搞定离线小说库:告别网络依赖,随时随地畅读番茄小说
  • 使用 ibelick/nim Docker 镜像快速搭建标准化 Nim 开发环境
  • 2026年Q2高端就业服务实操推荐及合规联系方式 - 优质品牌商家
  • 2026年3月出门纱租赁公司推荐,户外婚纱租赁/高端婚纱租赁/年会礼服租赁/服装定制,出门纱租赁精品店怎么选择 - 品牌推荐师
  • 如何设置默认Profile文件_用户资源限制与密码策略配置
  • ArcGIS水文分析避坑指南:填洼、流向、流量计算中那些容易出错的参数设置
  • MIT 6.S081 Lab 11 实战:手把手教你为xv6实现E1000网卡驱动(含DMA与环形缓冲区详解)
  • 别再被Ant Design的useForm警告搞懵了!手把手教你三种正确绑定Form的方法(含Modal避坑)
  • 2025届学术党必备的六大AI辅助写作方案推荐
  • DSP处理器性能评估实战:指标陷阱与优化策略
  • 2026年4月市面上优秀的传动带供应商推荐,传动带/工业皮带/片基带/PU同步带/同步轮/平面皮带,传动带工厂找哪家 - 品牌推荐师
  • Bibata Cursor:开源鼠标指针主题的设计、安装与深度定制指南
  • 2026年MVR蒸发器技术解析:质量判定与选型全推荐 - 优质品牌商家
  • 初次使用 Taotoken 模型广场进行模型选型的直观感受
  • 2025届必备的十大降AI率网站推荐
  • Switch游戏文件终极管理工具:NSC_BUILDER完整使用指南
  • 华硕笔记本性能管家G-Helper:轻量级替代方案完全指南
  • 零基础升级指南:用OpenCore Legacy Patcher让老旧Mac焕发新生
  • Macos 设置Typora图片本地位置
  • 告别数据孤岛:5步搞定西门子数控机床(828D/840D)的OPC UA数据采集,赋能MES/SCADA
  • 工程化简历:用数据驱动与自动化打造你的职业发展仪表盘
  • 告别clickhouse-driver的端口噩梦,用clickhouse-connect轻松搞定Python连接(附完整代码)