【剑斩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;
    }
};
相关推荐
王维同学1 小时前
Winsock 协议与名称空间 Provider 目录
网络·c++·windows·安全
拳里剑气3 小时前
C++算法:BFS解决FloodFill算法
c++·算法·bfs·宽度优先
爱写代码的小朋友3 小时前
从零开始学 Win32 API:C++ 窗口编程实战(VS Code + MinGW-w64 命令行详解)
开发语言·c++
小小晓.4 小时前
C++:语句和作用域
开发语言·c++
fqbqrr4 小时前
2607C++,soui,xplayer视频播放器
c++·soui
wanderist.4 小时前
Lambda表达式在算法竞赛中的应用
java·开发语言·算法
zh路西法5 小时前
【10天速通ROS2-PX4无人机】(四) 关掉GPS和气压计,纯激光定位还能飞吗
c++·无人机·px4·ros2·卡尔曼滤波·fastlio2
稚南城才子,乌衣巷风流5 小时前
支配树(Dominator Tree)详解:概念、算法与应用
算法
稚南城才子,乌衣巷风流5 小时前
动态开点:原理、实现与应用场景
数据结构·算法