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

【C++算法】65.栈_删除字符中的所有相邻重复项

文章目录

    • 题目链接:
    • 题目描述:
    • 解法
    • C++ 算法代码:


题目链接:

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


题目描述:

a0182e1e64e670d1e3df3b691e5bbf53


解法

利用string模拟栈

元素依次进栈,当进栈元素和栈顶元素一样的时候,就弹出栈顶字符,然后元素继续往后处理。


C++ 算法代码:

class Solution 
{
public:string removeDuplicates(string s) {// 删除字符串中相邻重复字符的算法// 基本思路:使用字符串模拟栈结构,遇到与栈顶相同的字符就将栈顶弹出,否则入栈string ret; // 结果字符串,同时作为栈结构// 遍历输入字符串中的每个字符for(auto ch : s){// 如果栈不为空,且当前字符与栈顶字符相同if(ret.size() && ch == ret.back()) ret.pop_back(); // 弹出栈顶字符(删除相邻重复的字符)else ret += ch; // 否则将当前字符入栈(添加到结果字符串末尾)}return ret; // 返回处理后的字符串}
};

相关文章:

  • MOPSO实现无人机多目标路径规划(Matlab完整源码和数据)
  • package.json ^、~、>、>=、* 详解
  • 【java实现+4种变体完整例子】排序算法中【计数排序】的详细解析,包含基础实现、常见变体的完整代码示例,以及各变体的对比表格
  • 【大模型】 LangChain框架 -LangChain用例
  • [matlab]南海地形眩晕图代码
  • Spring Boot + Caffeine:打造高性能缓存解决方案
  • Elasticsearch:使用 ES|QL 进行搜索和过滤
  • 【AI提示词】物理学家
  • 栈(c++)
  • 【java实现+4种变体完整例子】排序算法中【选择排序】的详细解析,包含基础实现、常见变体的完整代码示例,以及各变体的对比表格
  • 【现代深度学习技术】循环神经网络04:循环神经网络
  • ArcGIS及其组件抛出 -- “Sorry, this application cannot run under a Virtual Machine.“
  • 基于 Linux 环境的办公系统开发方案
  • pytorch 51 GroundingDINO模型导出tensorrt并使用c++进行部署,53ms一张图
  • 大数据建模与评估
  • Linux `init 4` 相关命令的完整使用指南
  • Nvidia显卡架构演进
  • 新手记录--从零开始[labelme安装及使用]
  • Ubuntu20.04下Docker方案实现多平台SDK编译
  • 分析虚幻引擎编辑器中使用 TAA 或 TSR 时角色眨眼导致的眼睛模糊问题
  • 图解|回应期盼、可感可及!26项措施打开上海民营经济发展新天地
  • 多家期刊就AI辅助写作表态:不想让放弃思考毁了一代人
  • 工人日报刊文:首席技师当“博导”,激励技能人才更有作为
  • 昆明一垃圾车致人身亡事故调查报告:驻车制动装置失效,司机欲阻停被撞
  • 河南省人大常委会原党组副书记、副主任刘满仓被逮捕