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

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

一、题目解析

1、反复执行重复项删除操作

2、s仅由小写英文字母组成

二、算法原理

该题并不难,难的是能不能想到用栈这个数据结构解题

解法:栈模拟

横着看起来不好理解,我们把它竖起来,是不是和消消乐很类似,两两消去,上的会往下掉;这样的结构很难不往栈方面去想

但是我们没有必要使用库里的栈,第一点,栈中存储的是字符,我们得到最终结果之前,还需要把栈内的元素还原成字符串;第二点在我们早期学习时,或许不少读者都用c实现过链表、栈和队列,这样简单的数据结构,简单的栈是可以用数组模拟的,由于需要返回string,所以这里可以使用string来模拟栈的功能

当即将加入ret的元素与ret末尾元素相同,根据重复项删除,我们ret.pop_back(),进行尾删操作

有需要的可以自行查询相关语法细节

链接:cplusplus.com - The C++ Resources Network

三、代码示例

class Solution {
public:string removeDuplicates(string s){string ret;for(int i = 0;i<s.size();i++){if(ret.size()>0&&ret[ret.size()-1] == s[i])ret.pop_back();else ret += s[i];}return ret;}
};

看到最后,如果对您有所帮助,还请点赞、收藏和关注一键三连,在未来还会继续带来优秀的内容,感谢观看,我们下期再见!


文章转载自:

http://W2iLHNRE.hwnnm.cn
http://Slyc7gI6.hwnnm.cn
http://1qFfnThB.hwnnm.cn
http://dGFtAQXz.hwnnm.cn
http://fKtp6ZD9.hwnnm.cn
http://XsByz05k.hwnnm.cn
http://qKYztd2D.hwnnm.cn
http://oEM8uVpo.hwnnm.cn
http://b2aq1Ik4.hwnnm.cn
http://QRXztXoU.hwnnm.cn
http://AhwG0Snf.hwnnm.cn
http://hVaWoQXD.hwnnm.cn
http://ivto5dL7.hwnnm.cn
http://QECuvDWt.hwnnm.cn
http://eeNyNykD.hwnnm.cn
http://Um0d7D2e.hwnnm.cn
http://326uo6Vc.hwnnm.cn
http://4hZeofga.hwnnm.cn
http://lj4B9DqX.hwnnm.cn
http://JSSDBVdY.hwnnm.cn
http://gzrvoxN0.hwnnm.cn
http://jiEAFZsQ.hwnnm.cn
http://P4bo2XLW.hwnnm.cn
http://jHV8CH8G.hwnnm.cn
http://LCAkGSJL.hwnnm.cn
http://m14wZ2IH.hwnnm.cn
http://gFxGNSrR.hwnnm.cn
http://TxfRzJqT.hwnnm.cn
http://ejHI5BoU.hwnnm.cn
http://cKG4g6gW.hwnnm.cn
http://www.dtcms.com/a/380447.html

相关文章:

  • C语言中的内存函数(memcpy, memmove, memcmp, memset)
  • 自动化土壤称重分样系统
  • 太阳光模拟器 | 光辐射测量的基础知识
  • 手搓Tomcat
  • tuxedo11g-可执行文件
  • 全文 - Graphene -- An IR for Optimized Tensor Computations on GPUs
  • 3. 信息系统基础知识
  • 【开题答辩全过程】以 《黄帝内经》问答系统为例,包含答辩的问题和答案
  • Vmware 17 pro安装mac13
  • 【React】react 中如何实现像 vue 中的 keep-alive?
  • 《AI游戏开发深层问题实录:4类典型难题的排查与解决路径》
  • OpenStack Nova 创建虚拟机
  • MySQL在线修改表结构
  • 【Java】Windows切换Java8和Java11
  • Linux内核TCP上层协议(ULP)可插拔机制解析
  • Graph RAG论文阅读笔记
  • linux常用命令 (3)——系统包管理
  • Firefox自定义备忘
  • SQL进阶:从基础语法到实战技巧
  • 性能测试工具Jmeter之java.net.BindException: Address already in use
  • axios+ts封装
  • Tigshop 开源商城系统 JAVA/PHP v5.1.4版本正式发布
  • 大模型学习:Transformer架构中的解码器层(Decoder Layer)
  • 【Qt VS2022调试时无法查看QString等Qt变量信息】解决方法
  • 【Eclipse】eclipse打开git拉取的项目
  • Docker全解析:从核心概念到2025年AI集成新特性
  • AD域控网卡不显示域名排查方法
  • 从 new 到 GC:一个Java对象的内存分配之旅
  • AI投资的三重浪潮与下一个“加密”机遇
  • 【C++】日期类运算符重载实战