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;
    }
};
相关推荐
测试19984 小时前
软件测试 - 单元测试总结
自动化测试·软件测试·python·测试工具·职场和发展·单元测试·测试用例
心中有国也有家8 小时前
cann-recipes-infer:昇腾 NPU 推理的“菜谱集合”
经验分享·笔记·学习·算法
绝知此事8 小时前
【算法突围 01】线性结构与哈希表:后端开发的收纳术
java·数据结构·算法·面试·jdk·散列表
碧海银沙音频科技研究院8 小时前
通话AEC与语音识别AEC的软硬回采链路
深度学习·算法·语音识别
csdn_aspnet9 小时前
Python 算法快闪 LeetCode 编号 70 - 爬楼梯
python·算法·leetcode·职场和发展
一只机电自动化菜鸟11 小时前
一建机电备考笔记(40) 建筑机电施工—排水管道施工(含考频+题型)
经验分享·笔记·学习·职场和发展·课程设计
m0_6294947312 小时前
LeetCode 热题 100-----26.环形链表 II
数据结构·算法·leetcode·链表
壹号用户12 小时前
用队列实现栈
数据结构·算法
做人求其滴12 小时前
面试经典 150 题 380 274
c++·算法·面试·职场和发展·力扣