【力扣精选算法100道】——带你了解(数组模拟栈)算法

目录

💻比较含退格的字符串

🎈了解题意 

🎈分析题意

🚩栈

🚩数组模拟栈

🎈实现代码



844. 比较含退格的字符串 - 力扣(LeetCode)

💻比较含退格的字符串


🎈了解题意 

如果遇到#那么就删除前面的字符,

  • 比如 s=ab#c   遇到#的时候我们就删除b,然后往后依次遍历后最终的结果是ac,t=ad#c,遇到#删除d ,然后往后依次遍历后最终的结果是 ac,字符串s和字符串t最终的字符串是ac相同那么就返回 true。
  • 比如 s="a#c" 最终的结果是 c,t="b" 最终的结果是 b,字符串s和字符串t是不同的,所以返回false。

🎈分析题意

🚩栈

字符串 s中遇到 # 就删除栈顶元素,然后遍历下一个元素,如果不等于#,就入栈。

字符串 t 中遇到#就删除栈顶元素d,然后遍历下一个元素,如果不等于# 就继续入栈。

 字符串 s中遇到 # 就删除栈顶元素,然后遍历下一个元素,如果不等于#,就入栈c。

字符串 t 中遇到#就删除栈顶元素d,然后遍历下一个元素,如果不等于# 就继续入栈c。

最终字符串s="c" t="ac" 此时s不等于t,返回false。


🚩数组模拟栈

字符串中删除最后一个字符用到 pop.back()。


🎈实现代码

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

别看到别人发光就觉得自己黯淡。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/753811.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Maven项目 快速修复log4j 漏洞

1、log4j 漏洞介绍 log4j的漏洞介绍以及原理请参考文章 ,网址详见下面文章 Log4j漏洞原理及修复_linux log4j漏洞修复方案-CSDN博客,遇到这个漏洞要升级log4j 的jar包到2.17.0 以上。 2、项目快速处理方案 由于maven 管理jar 的spring 项目或者…

通过点击按钮实现查看全屏和退出全屏的效果

动态效果如图&#xff1a; 可以通过点击按钮&#xff0c;或者esc键实现全屏和退出全屏的效果 实现代码&#xff1a; <template><div class"hello"><el-button click"fullScreen()" v-if"!isFullscreen">查看全屏</el-butt…

DevExpress WinForms crack,DevExpress WinForms组件套件和库

DevExpress WinForms crack,DevExpress WinForms组件套件和库 Reporting & Analytics - Reports, Pivot Tables, PDF Viewer. The DevExpress WinForms Subscription includes royalty-free user interface components for next-gen decision support systems. Whether you…

PTA模拟+数学分析

作者 李曲 单位 浙江工业大学 生物学家发现了一种奇怪的DNA分子&#xff0c;最好用集合{A&#xff0c;B}中的N个字符序列来描述。一个不太可能的突变序列导致了一条由A‟s组成的DNA链。生物学家发现这很奇怪&#xff0c;所以他们开始更详细地研究突变。 他们发现了两种类型的…

泡澡——前缀和

题目链接&#xff1a;1.泡澡 - 蓝桥云课 (lanqiao.cn) 主要应用前缀和方法解决问题 package lanqiao;import java.util.Scanner;/*** 2023/11/29*/ public class lanqiao3898_泡澡 {static final int MAX (int) 2e5;public static void main(String[] args) {Scanner scan ne…

KY198 找最小数

描述&#xff1a; 第一行输入一个数n&#xff0c;1 < n < 1000&#xff0c;下面输入n行数据&#xff0c;每一行有两个数&#xff0c;分别是x y。输出一组x y&#xff0c;该组数据是所有数据中x最小&#xff0c;且在x相等的情况下y最小的。 输入描述&#xff1a; 输入有多…

Java网络编程:探索奥秘与实践

欢迎来到我的博客&#xff01;今天我们将一起探索Java网络编程的奥秘。网络编程是计算机科学中的一个重要领域&#xff0c;它使得不同的计算机系统可以相互通信和共享数据。Java的网络编程库提供了一套全面而强大的工具&#xff0c;让我们能够轻松地实现这些功能。我们将通过一…

【活动】政府工作报告视角下的计算机行业发展前瞻与策略探讨

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 引言正文计算机行业在政府工作报告中的定位与发展态势政策导向解析未来机遇展望…

Java中的悲观锁机制----synchronized 关键字原理

上篇铺垫&#xff1a;Java中的锁机制&#xff1f;&#xff08;体系梳理篇&#xff09;-CSDN博客 一、sychronized的介绍 sychronized是Java原生的一个同步锁机制&#xff0c;可以保证在多线程并发的情况下&#xff0c;仅允许一个线程执行加锁的方法和代码块&#xff0c;保证了…

修改multiprocessing.Manager().dict()中对象的变量的值

类 class SystemSta:def __init__(self):self.AllJointsFindedHome False创建字典 manager multiprocessing.Manager() shared_data manager.dict() shared_data[SystemSta] SystemSta()更改字典中对象的变量的值 错误示范 shared_data[SystemSta].AllJointsFindedHome…

深度剖析:数字经济下人工智能水平的新测算模型数据集

数据来源&#xff1a;企业年报时间跨度&#xff1a;1991-2022年数据范围&#xff1a;各企业数据指标&#xff1a; 年份 股票代码 公司名称 总词频 词频加1取对数 人工智能 计算机视觉 图像识别 知识图谱 智能教育 增强现实 智能政务 特征提…

数据分析-Pandas序列时间移动窗口化操作

数据分析-Pandas序列时间移动窗口化操作 数据分析和处理中&#xff0c;难免会遇到各种数据&#xff0c;那么数据呈现怎样的规律呢&#xff1f;不管金融数据&#xff0c;风控数据&#xff0c;营销数据等等&#xff0c;莫不如此。如何通过图示展示数据的规律&#xff1f; 数据表…

Machine Learning ---- Feature Scaling

目录 一、What is feature scaling:&#xff1a; 二、Why do we need to perform feature scaling? 三、How to perform feature scaling: 1、Normalization: 2、Mean normalization: 3、Standardization (data needs to follow a normal distribution): 一、What is featur…

高效使用git流程分享

准备 假设你已经 clone 了当前仓库&#xff0c;并且你的终端位置已经位于仓库目录中。 查询状态 查询状态常用的命令有 git status 和 git branch。 前者用于查询更改文件情况&#xff0c;后者用于展示所有分支。 chatbot-system$ git status On branch develop Your bran…

Fiddler不仅可以抓包,还可以做接口测试喔

前言 Fiddler最大的优势在于抓包&#xff0c;我们大部分使用的功能也在抓包的功能上&#xff0c;Fiddler做接口测试也是非常方便的。对应没有接口测试文档的时候&#xff0c;可以直接抓完包后&#xff0c;copy请求参数&#xff0c;修改下就可以了。 Composer简介 点开右侧Co…

深入解析JVM加载机制

一、背景 Java代码被编译器变成生成Class字节码&#xff0c;但字节码仅是一个特殊的二进制文件&#xff0c;无法直接使用。因此&#xff0c;都需要放到JVM系统中执行&#xff0c;将Class字节码文件放入到JVM的过程&#xff0c;简称类加载。 二、整体流程 三、阶段逻辑分析 3…

MySQL主从数据库简单搭建

环境&#xff1a;准备两个linux虚拟机服务器&#xff0c;两台需要安装相同版本的MySQL服务&#xff0c;此处示例使用的是 10.6.8-MariaDB MariaDB Server 版本&#xff0c;确保两台服务器可以ping通&#xff0c;检查防火墙是否关闭&#xff0c;或防火墙开启但对应数据库端口需要…

到底什么时候该使用MongoDB

NoSQL是什么 NoSQL &#xff1a; Not Only SQL , 本质也是一种数据库的技术&#xff0c;相对于传统数据库技术&#xff0c;它不会遵循一些约束&#xff0c;比如 &#xff1a; sql 标准、 ACID 属性&#xff0c;表结构等。 NoSQL分类 类型应用场景典型产品Key-value存储缓存&…

考研数学|跟武忠祥,刷什么习题集效果最好?

选择听哪位老师的课程并不是硬性规定。我个人觉得&#xff0c;关键在于根据自己的学习需求和情况来选择合适的学习方式。比如如果听武忠祥老师的课程可能更适合你&#xff0c;你可以选择武忠祥老师&#xff1b;而如果你希望通过大量的题目练习来提高解题能力&#xff0c;那么选…

vue2 实战:动态组件,异步组件

需求&#xff1a; 根据不同类型&#xff0c;显示不同页面 原始代码&#xff0c;菜逼写法 <template> <!-- 弹窗插件 --> <el-dialog :title"title" :visible.sync"openExchange" width"700px" append-to-body :before-close&qu…