news 2026/4/30 9:21:50

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Day19_1047. 删除字符串中的所有相邻重复项

一、今日学习的文章链接和视频链接

题目链接:https://leetcode.cn/problems/remove-all-adjacent-duplicates-in-string/

视频讲解:https://www.bilibili.com/video/BV12a411P7mw

二、自己看到题目的第一想法

看到题目要反复删除相邻且相同的字母,直到不能删为止,第一反应就是用栈!

因为删除相邻重复项,完美匹配栈“先进后出、检查栈顶”的特性。

思路:遍历字符串,当前字符和栈顶相同就弹出(删除),不同就入栈,最后栈里就是答案。

三、自己实现过程中遇到哪些困难

1. 栈为空时访问 top() 崩溃

一开始没判断栈空,直接取栈顶比较,程序直接报错。

2. 忘记最后要把栈反转/拼接成字符串

栈是倒序的,最后要遍历栈输出字符串,一开始直接输出乱了。

3. 误以为只删一次重复

题目要求反复删除,直到不能删,栈正好能处理这种连锁删除。

四、今日收获心得

彻底掌握了删除相邻重复项的栈解法,时间 O(n),空间 O(n),最简洁最优!

核心思想:

- 栈顶 == 当前字符 → 消除(pop)

- 栈顶 != 当前字符 → 保留(push)

#include <stack> using namespace std; class Solution { public: string removeDuplicates(string s) { stack<char> st; for (char c : s) { // 栈不为空 且 栈顶 == 当前字符 → 删除 if (!st.empty() && st.top() == c) { st.pop(); } else { st.push(c); } } // 把栈转为字符串 string res = ""; while (!st.empty()) { res = st.top() + res; st.pop(); } return res; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/30 9:21:24

构建个性化AI助手:基于Markdown的知识库与自我进化系统

1. 项目概述&#xff1a;一个用Markdown喂养的自我进化AI助手如果你和我一样&#xff0c;每天都在和各种AI编码助手打交道——Claude Code、Cursor、Devin&#xff0c;或者任何能读取Markdown文件的LLM工具——那你肯定遇到过这个痛点&#xff1a;每次开启一个新对话&#xff0…

作者头像 李华
网站建设 2026/4/30 9:19:27

PI‑36 双麦降噪拾音模块|医院高清语音解决方案

医院走廊人声嘈杂、设备持续运转、病房环境复杂&#xff0c;传统拾音与对讲系统常被噪音淹没&#xff0c;导致呼叫不清晰、对讲卡顿、录音失真、监护漏音……PI‑36 双 MIC 降噪拾音模块&#xff0c;专为医院严苛声学环境设计&#xff0c;双核 DSP 强效降噪、7 米远距离拾音、即…

作者头像 李华
网站建设 2026/4/30 9:12:31

是德MX0032A和MX0041A探头 MX0041A InfiniiMax 4 差分焊入式探头 – 52 GHz

是德MX0032A和MX0041A探头 MX0041A InfiniiMax 4 差分焊入式探头 – 52 GHz MX0041A 探头是 InfiniiMax 4 探头系统的创新模块化探头系统的一部分突出 InfiniiMax 4 是是德科技最新的探头系统&#xff0c;可提供高达 52 GHz 的带宽容量&#xff0c;令人印象深刻。要达到这一性能…

作者头像 李华
网站建设 2026/4/30 9:11:30

VR硬件升级为何未能提升用户体验?

1. VR硬件十年演进&#xff1a;技术参数与用户体验的脱节现象虚拟现实技术自2016年消费级产品问世以来&#xff0c;硬件规格经历了显著迭代。作为从业者&#xff0c;我亲历了从初代HTC Vive到最新Vive Pro 2的完整产品周期。技术文档中&#xff0c;这些设备的参数差异令人惊叹&…

作者头像 李华