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

每日一题 --- 删除字符串中的所有相邻重复项[力扣][Go]

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

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

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

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

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

示例:

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

提示:

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

方法一:

使用栈。如果相同就退出栈中元素,如果不同就入栈。

func removeDuplicates(s string) string {length := len(s)if length == 0 {return s}bytes := make([]byte, length)idx := -1for i := 0; i < length; i++ {if idx == -1 {idx++bytes[idx] = s[i]continue}if s[i] != bytes[idx] {idx++bytes[idx] = s[i]} else {idx--}}return string(bytes[:idx+1])
}

http://www.lryc.cn/news/332508.html

相关文章:

  • 前端三剑客 —— CSS (第四节)
  • Linux文件IO(3):使用文件IO进行文件的打开、关闭、读写、定位等相关操作
  • Vite 项目中环境变量的配置和使用
  • C++读取.bin二进制文件
  • 【ZZULIOJ】1038: 绝对值最大(Java)
  • 递归算法讲解2
  • 机器学习第33周周报Airformer
  • 设计模式(12):代理模式
  • 前端9种图片格式基础知识, 你应该知道的
  • ChatGPT 与 OpenAI 的现代生成式 AI(上)
  • 全量知识系统 程序详细设计之架构设计:一个信息系统架构
  • 从零开始:成功进入IT行业的方法与技巧
  • SpringCloud - 如何本地调试不会注册到线上环境(Nacos)?
  • 1.9 面试经典150题 除自身以外数组的乘积
  • 【美团笔试题汇总】2023-09-02-美团春秋招笔试题-三语言题解(CPP/Python/Java)
  • 小黑逆向爬虫探索与成长之路:小黑独立破解毛毛租数据加密与解密
  • Generative Question-Answering with Long-Term Memory
  • 深入浅出 -- 系统架构之微服务架构常见的六种设计模式
  • SSM框架学习——SqlSession以及Spring与MyBatis整合
  • 6、【单例模式】确保了一个类在程序运行期间只有一个实例
  • vuex插件实现数据共享
  • 【吊打面试官系列】Redis篇 - 使用过 Redis 分布式锁么,它是什么回事?
  • DashOJ-8.奇偶统计
  • 车源宝微信小程序源码
  • “双碳”目标下资源环境中的可计算一般均衡(CGE)模型应用
  • 在 Git Bash 中调整字体大小,可以按照以下步骤进行操作,注意这里是linux虚拟机,命令都是Linux方式的
  • STM32之HAL开发——不同系列SPI功能对比(附STM32Cube配置)
  • Codeforces Round 836 (Div. 2) D. Range = √Sum
  • 阿里云python-SDK配置
  • 深入理解MP4视频文件裁剪原理[下下]