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

04 删除字符串中的相邻重复项

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

已解答

简单

相关标签

premium lock icon相关企业

提示

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

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

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

示例:

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

提示:

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

class Solution {
public:string removeDuplicates(string S) {stack<char> st;for (char s : S) {if (st.empty() || s != st.top()) {st.push(s);} else {st.pop(); // s 与 st.top()相等的情况}}string result = "";while (!st.empty()) { // 将栈中元素放到result字符串汇总result += st.top();st.pop();}reverse (result.begin(), result.end()); // 此时字符串需要反转一下return result;}
};
  • 相邻就消除的问题用栈非常合适,这题和上一题都是一个类型的题目

  • 栈用来存遍历过的元素(前一个)

也可以直接用字符串模拟栈,更快一点

class Solution {
public:string removeDuplicates(string S) {string result;for(char s : S) {if(result.empty() || result.back() != s) {result.push_back(s);}else {result.pop_back();}}return result;}
};
http://www.jsqmd.com/news/734004/

相关文章:

  • 深入Linux FrameBuffer:从`fb_var_screeninfo`的字段看懂屏幕时序与分辨率设置
  • 别再手动装环境了!用Docker Compose一键部署企业内训系统PlayEdu(附完整配置流程)
  • Midscene.js终极指南:如何用AI视觉模型实现跨平台UI自动化
  • 如何用HTML转Figma工具实现网页设计逆向工程:5个实战技巧与完整指南
  • 你知道吗?其实这些都是AI——艺术品鉴定AI
  • 开发阶段 -- 详设完善
  • PCL2启动器下载问题终极解决指南:3步告别资源损坏烦恼
  • ComfyUI-Impact-Pack图像增强实战:从零构建专业级AI绘画工作流
  • 医疗设备采购必看:串口屏选型避坑指南,质量、价格、交期、服务 - 浴缸里的巡洋舰
  • React Sortable Tree动画效果实现:平滑过渡和视觉反馈终极指南
  • Flow Launcher集成ChatGPT:打造桌面AI助手,提升开发与办公效率
  • 你知道吗?其实这些都是AI——音乐创作AI
  • 不只是画板:用Cadence 17.4的SigXplorer,我这样优化了EEPROM模块的拓扑结构
  • 专业视频对比分析工具:深度解析video-compare的实现原理与实战应用
  • Redis - List
  • XGP存档提取技术解析:架构设计与跨平台迁移实战指南
  • 预推免线下复试全记录:从华工、暨大到湖大,我的‘赶考’日程与面试踩坑复盘
  • 如何免费解锁Cursor Pro功能?cursor-free-vip工具完整使用指南
  • 你知道吗?其实这些都是AI——智能交通管理系统
  • DroidPlugin性能优化:提升插件应用运行效率的10个关键技巧
  • YOLOv13涨点改进| TGRS 2026 |全网独家创新、注意力改进篇| 引入PMM 金字塔掩码Mamba模块,逐步整合深层语义信息与浅层细节信息,含多种改进,助力小目标检测、图像分割高效涨点
  • C++高频面试题总结(一)
  • MCP 2026多租户隔离能力深度评测(2026 Q1权威基准测试报告首发):98.7%租户间资源泄露拦截率如何达成?
  • 内存碎片是内存分配和释放过程中导致可用内存分散成不连续的小块,从而降低内存使用效率或引发分配失败的问题
  • PPTAgent终极指南:5分钟掌握AI智能演示文稿生成
  • 移动应用开发手册13:环境治理——本地/测试/生产分不清
  • Arduino串口通信避坑大全:从Serial.read丢数据到parseFloat的诡异行为,一次讲清
  • MPC-BE:你的Windows电脑需要一个什么样的播放器?5个场景告诉你答案
  • SUSI.AI社区贡献指南:如何参与开源AI项目开发
  • 在模型广场中根据任务需求与预算快速对比并选择合适的大模型