【剑斩OFFER】算法的暴力美学——力扣:1047 题:删除字符串中的所有相邻重复项

一、题目描述

二、算法原理

思路:使用 string 模拟栈结构

如果栈顶的字符和遍历字符串中的字符不一样就直接入栈,否则就让栈顶元素出栈,直到遍历到字符串的最后一个字符。

三、代码实现

cpp 复制代码
class Solution {
public:
    string removeDuplicates(string s) {
        if(s.empty()) return s;
        string ret;//模拟栈结构
        for(auto& e : s)
        {
            if(ret.empty()) ret += e;
            else
            {
                if(ret.back() == e) ret.pop_back();//相同字串出栈
                else ret += e;
            }
        }
        return ret;
    }
};
相关推荐
diediedei18 小时前
嵌入式数据库C++集成
开发语言·c++·算法
君义_noip18 小时前
洛谷 P3388 【模板】割点(割顶)
c++·算法·图论·信息学奥赛·csp-s
xie0510_18 小时前
string模拟实现
开发语言·c++·算法
xuedingbue18 小时前
数据结构与顺序表:高效数据管理秘籍
数据结构·算法·链表
雪域迷影18 小时前
C++17中使用inline修饰类的静态成员变量
开发语言·c++·inline static·类静态成员变量
星火开发设计18 小时前
共用体 union:节省内存的特殊数据类型
java·开发语言·数据库·c++·算法·内存
求梦82018 小时前
【力扣hot100题】合并两个有序链表(22)
算法·leetcode·链表
dcmfxvr18 小时前
adwawd
算法
踩坑记录19 小时前
leetcode hot100 21.合并两个有序链表 链表 easy
leetcode
啊阿狸不会拉杆19 小时前
《数字信号处理 》第 7 章-无限长单位冲激响应 (IIR) 数字滤波器设计方法
数据结构·算法·信号处理·数字信号处理·dsp