每日OJ题_栈②_力扣844. 比较含退格的字符串

目录

力扣844. 比较含退格的字符串

解析代码


力扣844. 比较含退格的字符串

844. 比较含退格的字符串

难度 简单

给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 true 。# 代表退格字符。

注意:如果对空文本输入退格字符,文本继续为空。

示例 1:

输入:s = "ab#c", t = "ad#c"
输出:true
解释:s 和 t 都会变成 "ac"。

示例 2:

输入:s = "ab##", t = "c#d#"
输出:true
解释:s 和 t 都会变成 ""。

示例 3:

输入:s = "a#c", t = "b"
输出:false
解释:s 会变成 "c",但 t 仍然是 "b"。

提示:

  • 1 <= s.length, t.length <= 200
  • s 和 t 只含有小写字母以及字符 '#'

进阶:

  • 你可以用 O(n) 的时间复杂度和 O(1) 的空间复杂度解决该问题吗?
class Solution {
public:
    bool backspaceCompare(string s, string t) {

    }
};

解析代码

        和力扣1047. 删除字符串中的所有相邻重复项类似,由于退格的时候需要知道前面元素的信息,而且退格也符合后进先出的特性。因此我们可以使用栈结构来模拟退格的过程。

  • 当遇到非 # 字符的时候,直接进栈。
  • 当遇到 # 的时候,栈顶元素出栈。

为了方便统计结果,用字符数组string来模拟实现栈结构。

class Solution {
public:
    bool backspaceCompare(string s, string t) {
        string stack1 = "", stack2 = "";
        for(auto& e : s)
        {
            if(e != '#')
                stack1 += e;
            else if(stack1.size())
                stack1.pop_back();
        }
        for(auto& e : t)
        {
            if(e != '#')
                stack2 += e;
            else if(stack2.size())
                stack2.pop_back();
        }
        return stack1 == stack2;
    }
};

最近更新

  1. TCP协议是安全的吗?

    2024-03-29 01:08:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-29 01:08:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-29 01:08:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-29 01:08:01       20 阅读

热门阅读

  1. 在nodejs中打开浏览器网页

    2024-03-29 01:08:01       18 阅读
  2. mysql select

    2024-03-29 01:08:01       16 阅读
  3. OCR识别文字示例

    2024-03-29 01:08:01       22 阅读
  4. 数组常见算法代码总结

    2024-03-29 01:08:01       19 阅读
  5. 02 React 组件使用

    2024-03-29 01:08:01       22 阅读
  6. vue的插槽

    2024-03-29 01:08:01       21 阅读
  7. C语言-数据在内存存储

    2024-03-29 01:08:01       18 阅读
  8. Linux小程序: 手写自己的shell

    2024-03-29 01:08:01       22 阅读
  9. js的数组

    2024-03-29 01:08:01       21 阅读
  10. webpack为什么要使用loader,如何手写loader

    2024-03-29 01:08:01       18 阅读