【数据结构-栈】力扣844. 比较含退格的字符串

devtools/2024/9/24 9:20:17/

给定 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 只含有小写字母以及字符 ‘#’

重构字符串

class Solution {
public:bool backspaceCompare(string s, string t) {string res1, res2;for(char c : s){if(c != '#'){res1.push_back(c);}else if(!res1.empty()){res1.pop_back();}}for(char c : t){if(c != '#'){res2.push_back(c);}else if(!res2.empty()){res2.pop_back();}}return res1 == res2;}
};

使用了栈的方法,我们定义了两个新字符串res1和res2来记录s和t进行计算后的最终结果,最后看res1和res2是否相等。当s或t字符串中的字符不为#的时候,就将他推入到我们构造的新字符串中,如果字符为#,我们还要判断他是否为空,如果不为空的话,那么就将重构字符串的最后一个字符弹出。

最后返回res1 == res2即可。


http://www.ppmy.cn/devtools/116426.html

相关文章

Python爬虫之requests模块(一)

Python爬虫之requests模块&#xff08;一&#xff09; 学完urllib之后对爬虫应该有一定的了解了&#xff0c;随后就来学习鼎鼎有名的requests模块吧。 一、requests简介。 1、什么是request模块&#xff1f; requests其实就是py原生的一个基于网络请求的模块&#xff0c;模拟…

Docker:解决开发运维问题的开源容器化平台

云计算de小白 Docker是一个开源的容器化平台&#xff0c;可以将应用程序及其依赖的环境打包成轻量级、可移植的容器。 Docker为什么这么受欢迎呢?原因很简单&#xff1a;Docker可以解决不同环境一致运行的问题&#xff0c;而且占用资源少&#xff0c;速度快。 所以好的东西…

PostgreSQL 容器安装

使用Docker安装PostgreSQL&#xff08;通常简称为PgSQL&#xff09;容器的步骤相对直接且简单。以下是一个详细的步骤指南&#xff0c;帮助你通过Docker安装并运行PostgreSQL容器&#xff1a; 1. 安装Docker 首先&#xff0c;确保系统上已经安装了Docker。可以通过访问Docker…

《深度学习》卷积神经网络CNN 实现手写数字识别

目录 一、卷积神经网络CNN 1、什么是CNN 2、核心 3、构造 二、案例实现 1、下载训练集、测试集 代码实现如下&#xff1a; 2、展示部分图片 运行结果&#xff1a; 3、图片打包 运行结果&#xff1a; 4、判断当前使用的CPU还是GPU 5、定义卷积神经网络 运行结果&a…

Vue3教程 - 2 开发环境搭建

更好的阅读体验&#xff1a;点这里 &#xff08; www.foooor.com &#xff09; 2 开发环境搭建 要进行 Vue 开发&#xff0c;需要安装 Node.js&#xff0c;因为构建 Vue 项目的工具&#xff0c;例如 Webpack、Vite等&#xff0c;这些工具依赖于Node.js环境来运行。 Node.js…

当电子设计竞赛照进生活!

参加过电子设计竞赛的同学都懂&#xff0c;四天三夜&#xff0c;有时候会熬夜&#xff0c;有时候会加班&#xff0c; 电子的灵异事件&#xff0c;有时候是好的&#xff0c;有时候是坏的&#xff0c;这就很怪好嘛 按理说&#xff0c;代码写的也没问题啊 为什么还是会那样&…

【FPGA开发】比特文件的压缩

压缩比特文件介绍 对于FPGA而言&#xff0c;比特文件包含了FPGA芯片的配置信息&#xff0c;也是我们一般意义上下载进FPGA的“程序”&#xff0c;压缩比特文件是一种优化FPGA配置文件大小和提高配置效率的方法&#xff0c;特别对于一些复杂的设计以及一些芯片而言&#xff0c;如…

uni-app快速入门

目录 一、什么是 uni-app二、快速创建 uni-app 项目1.创建 uni-app2.运行 uni-app 三、uni-app 相对传统 H5 的变化1.网络模型的变化2.文件类型变化3.文件内代码架构的变化4.外部文件引用方式变化5.组件/标签的变化6.js的变化&#xff08;1&#xff09;运行环境从浏览器变成v8引…