news 2026/4/15 15:21:33

LeetCode--1047. 删除字符串中的所有相邻重复项(栈和队列)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LeetCode--1047. 删除字符串中的所有相邻重复项(栈和队列)

题目描述

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

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

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

示例:

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

提示:

  1. 1 <= s.length <= 105
  2. s仅由小写英文字母组成。

解题思路

与20.有效的括号类似,匹配即将进栈的元素与栈顶元素即可。

代码

classSolution{publicStringremoveDuplicates(Strings){// 转换成字符数组char[]array=s.toCharArray();// 使用双端队列存储Deque<Character>deque=newLinkedList<>();for(charch:array){// 队列非空时检查栈顶元素if(!deque.isEmpty()&&ch==deque.peek()){// 匹配则出栈deque.pop();}else{// 未匹配则压栈deque.push(ch);}}// 用新字符数组输出char[]result=newchar[deque.size()];for(inti=result.length-1;i>=0;i--){result[i]=deque.peek();deque.pop();}returnnewString(result);}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 15:19:01

AI Agent 核心方法论深度解析:ReAct、Plan-and-Solve 与 Reflection

大语言模型正在从"对话者"进化为"行动者"。如何让 AI 不只是回答问题&#xff0c;而是自主规划、执行、反思并完成任务&#xff1f;答案藏在三个核心方法论中。一、引言&#xff1a;从 Chatbot 到 Agent 2023 年&#xff0c;一篇名为《ReAct: Synergizing …

作者头像 李华
网站建设 2026/4/15 15:18:58

如何高效管理TIDAL音乐库:tidal-dl-ng全功能使用指南

如何高效管理TIDAL音乐库&#xff1a;tidal-dl-ng全功能使用指南 【免费下载链接】tidal-dl-ng TIDAL Media Downloader Next Generation! Up to HiRes / TIDAL MAX 24-bit, 192 kHz. 项目地址: https://gitcode.com/gh_mirrors/ti/tidal-dl-ng TIDAL Downloader Next G…

作者头像 李华
网站建设 2026/4/15 15:17:33

2026 渗透测试行业|机遇、挑战与未来趋势,一篇看透行业走向!

随着数字化转型的深入和网络威胁的日益复杂化&#xff0c;网络安全渗透测试行业在2025年迎来了前所未有的发展机遇与挑战。本文基于最新行业数据、招聘趋势与技术演进&#xff0c;全面剖析当前渗透测试行业的市场规模、人才供需、薪资水平、技术变革及未来发展方向&#xff0c;…

作者头像 李华
网站建设 2026/4/15 15:17:04

BDD100K自动驾驶数据集技术架构与多任务学习实践指南

BDD100K自动驾驶数据集技术架构与多任务学习实践指南 【免费下载链接】bdd100k Toolkit of BDD100K Dataset for Heterogeneous Multitask Learning - CVPR 2020 Oral Paper 项目地址: https://gitcode.com/gh_mirrors/bdd/bdd100k BDD100K作为CVPR 2020 Oral论文提出的…

作者头像 李华