leetcode 844 比较含退格的字符串

一、题目描述

二、解题思路

整体思路

可以使用字符串模拟栈来解决这个问题。本题方法与下面的一题完全一样,可以延伸练习一下。leetcode 1047 删除字符串中的所有相邻重复项-CSDN博客

具体思路

address函数用于还原并返回执行完所有退格操作的字符串。我们使用字符串ret来模拟栈结构。

循环遍历s:

(1)如果ret不为空且ch为'#',表示需要执行退格操作,我们将数组末尾的字符弹出;

(2)如果ch不为'#',就将字符串ch追加到ret的后面;

循环完成后,ret即为我们需要的字符串,返回ret即可。

三、代码实现

cpp 复制代码
class Solution {
public:
    bool backspaceCompare(string s, string t) {
        return address(s)==address(t);
    }

    string address(string s){
        string ret;
        for(auto ch:s){
            if(!ret.empty()&&ch=='#') ret.pop_back();
            else if(ch!='#')  ret.push_back(ch);
        }
        return ret;
    }
};
相关推荐
haolin123.1 分钟前
STL vector底层揭秘:从构造到迭代器失效
开发语言·c++·算法
shehuiyuelaiyuehao10 分钟前
算法37,位运算,两个整数之和(不用+符号)
算法
猎头南楼16 分钟前
MFC 质量流量控制器中的控制算法设计与落地思考
人工智能·算法
来一碗刘肉面20 分钟前
平衡二叉树的删除
数据结构·算法
wabs66624 分钟前
关于二叉树【力扣199.二叉树的右视图的思考】
数据结构·c++·算法·leetcode·二叉树·层序遍历
a1879272183134 分钟前
【算法】动态规划第三篇:背包第一课——贪心之死与正序倒序开关
算法·leetcode·动态规划·贪心·dp·暴力·算法讲解
黄金龙PLUS43 分钟前
Xoodoo置换算法的优缺点
算法·网络安全·密码学·哈希算法·同态加密
Cccp.1231 小时前
【leetcode】(四)排序算法汇总和链表
leetcode·链表·排序算法
杰克尼1 小时前
同城拼车项目面试问题_01
spring·面试·职场和发展
YonyouHRSaaS1 小时前
2026年AI招聘系统怎么选?AI面试功能怎么评估?
人工智能·面试·职场和发展·求职招聘·ai面试