LeetCode例题讲解: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"。

首先需要先写出经过退格处理后的字符串

int len_S = strlen(s);char result_S[len_S+1];int j = 0;for(int i = 0;i < len_S ; i++){if(s[i] != '#'){result_S[j] = s[i];j++; }else{if(j > 0){j--;}  }result_S[j] = '\0';}printf("%s\n",result_S);

之后写出另一个,并使两者加以比较

bool backspaceCompare(char* s, char* t) {int len_S = strlen(s);int len_T = strlen(t);char result_S[len_S+1];char result_T[len_T+1];int j = 0;int k = 0;for(int i = 0;i < len_S ; i++){if(s[i] != '#'){result_S[j] = s[i];j++; }else{if(j > 0){j--;}  }result_S[j] = '\0';}for(int i = 0;i < len_T ; i++){if(t[i] != '#'){result_T[k] = t[i];k++; }else{if(k > 0){k--;}  }result_T[k] = '\0';}printf("%s\ %s",result_S,result_T);return strcmp(result_S,result_T) == 0;
}

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

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

相关文章

AtCoder Beginner Contest 310 D题 Peaceful Teams

D题&#xff1a;Peaceful Teams 标签&#xff1a;深搜 d f s dfs dfs、状压 d p dp dp题意&#xff1a;给定 n n n个运动员要分成 t t t只队伍&#xff08;每只队伍至少 1 1 1人&#xff09;&#xff0c;并且给定 m m m个矛盾关系 a i a_i ai​运动员和 b i b_i bi​运动员&am…

llm.c的Makefile

源码 CC ? clang CFLAGS -Ofast -Wno-unused-result -Wno-ignored-pragmas -Wno-unknown-attributes LDFLAGS LDLIBS -lm INCLUDES CFLAGS_COND -marchnative# Find nvcc SHELL_UNAME $(shell uname) REMOVE_FILES rm -f OUTPUT_FILE -o $ CUDA_OUTPUT_FILE -o $# N…

vue.js 介绍

Vue.js 是一种流行的前端 JavaScript 框架&#xff0c;主要用于构建网页和单页应用程序&#xff08;SPA&#xff09;。它由前谷歌工程师尤雨溪&#xff08;Evan You&#xff09;于2014年开发。Vue.js 设计目标是通过简单的 API 提供高效的数据绑定和灵活的组件系统&#xff0c;…

springboot项目打包部署

springboot打包的前提条件jdk必须17以后不然本地运行不来&#xff08;我用的jdk是22&#xff09; 查看自己电脑jdk版本可以参考&#xff08;完美解决Windows10下-更换JDK环境变量后&#xff0c;在cmd下执行仍java -version然出现原来版本的JDK的问题-CSDN博客&#xff09; 1、…

六级翻译笔记

理解加表达 除了专有名词不能自己理解翻译&#xff0c;其它都可以 时态一般唯一 题目里出现有翻译为 客观存在&#xff1a; there be 单词结尾加er和ee的区别&#xff1a;er是主动&#xff0c;ee是被动 中文句子没有被动&#xff0c;也可以英文翻译为被动 中文的状语可以不是…

【无标获取S4与ECC的具体差异的方法题】

首先我们需要对ECC vs S4的差异这个课题要有一个深刻的理解&#xff0c;这不是一个简单并能准确说清楚的课题。 我们需要结合实际项目的具体情况去回答这个问题&#xff0c;因为这个问题本身是没有标准答案的。 首先要了解SAP本身ERP产品线的发展概况&#xff0c;其次我们要…

GitHub操作

远程库-GitHub GitHub网址 GitHub是全球最大的远程库 1. 创建远程库 2. 远程仓库操作 2.1 创建远程仓库别名 git remote -v 查看当前所有远程库地址别名 git remote add 别名 远程地址 设置远程库地址别名 案例操作 起一个别名会出现两个别名&#xff0c;是因为既可以拉取…

Set和Map有什么相同和不同之处?

Set 和 Map 都是 ES6&#xff08;ECMAScript 2015&#xff09;中引入的两种新的数据结构&#xff0c;它们都属于集合类型&#xff0c;但各自有各自的特点和用法。 相同点&#xff1a; 键的唯一性&#xff1a;无论是 Set 还是 Map&#xff0c;它们的键&#xff08;在 Set 中&a…

若依前端分离版-APP(UNI APP)表单添加验证

1.在page页面中onReady事件添加如下代码 onReady() {this.$refs.form.setRules(this.rules)}, 2.在data中添加ruels这个对象 rules: {nickName: {rules: [{required: true,errorMessage: 用户昵称不能为空}]},phonenumber: {rules: [{required: true,errorMessage: 手机号码不…

Rust :如何累计时间长度?

在Rust中&#xff0c;如果你想要记录累计时间&#xff0c;通常可以使用标准库中的std::time::Duration类型。Duration类型表示一个时间段&#xff0c;并且它可以很容易地进行加法和减法操作&#xff0c;从而用于累计时间。 下面是一个简单的例子&#xff0c;展示了如何使用Dur…

C语言 | Leetcode C语言题解之第84题柱状图中最大的矩形

题目&#xff1a; 题解&#xff1a; int largestRectangleArea(int* heights, int heightsSize) {int st[heightsSize];int p[2];p[0]-1,p[1]heightsSize;int size0,result0;st[size]0;for(int i1;i<heightsSize;i){ while(size!0&&heights[i]<heights[st[size-1…

动态规划解决回文子串问题

前言&#xff1a; 回文串相关问题在我们的算法题中算是老生常谈&#xff0c;本文主要介绍如何使用动态规划的思路去解决回文串系列问题。 总体思路&#xff1a; 能够将所有的子串是否是回文的信息&#xff0c;存储在二维dp表中。有了这个dp表&#xff0c;就可以将hard难度转…

Vue3实战笔记(07)— Axios进阶与提高

文章目录 前言一、创建自定义配置的实例二、掌握返回的结果结构三、拦截器相关用法四、异常处理相关五、取消请求的方式总结 前言 书接上文&#xff0c;目标对Axios的更多功能和特性熟练与提高。 一、创建自定义配置的实例 axios可以创建自定义配置的实例&#xff0c;可以试试…

密钥变更检查导致VScode远程SSH时无法连接服务器

报错 使用vscode的Remote - SSH插件远程连接不同服务器时报错如下 [11:42:51.784] Log Level: 2 [11:42:51.792] SSH Resolver called for "ssh-remote27.23.24.103", attempt 1 [11:42:51.793] "remote.SSH.useLocalServer": false [11:42:51.793] &quo…

使用vue3以及原生input实现一个可复用的组件(包括各种数组类型,手机号类型,小数类型)

看标题要实现可复用 那我就注册到全局组件里面 在component.ts //注册全局公共组件 import MxInput from /components/common/MxInput.vue const commonComponents {install(Vue) {Vue.component(MxInput, MxInput)} }; export default commonComponents;子组件&#xff1a;…

【实战】采用jenkins pipeline实现自动构建并部署至k8s

文章目录 前言部署jenkins编写docker-compose-jenkins.yaml配置maven源启动jenkins解锁jenkins Jenkins默认插件及git、镜像仓库、k8s凭证配置host key verification configuration修改为不验证Gitee ssh阿里云镜像仓库ssh编写pipeline安装以下常用插件将kubectl命令文件拷贝到…

E - Yet Another Sigma Problem(ABC字典树)

思路&#xff1a;我们可以发现两个字符串的最长公共前缀就是字典树中的最近公共祖先。然而这道题&#xff0c;比如说某个结点是x个字符串的前缀&#xff0c;那么当前结点对答案的贡献为x * (x - 1) / 2&#xff0c;就是x中任选两个字符串组合&#xff0c;因为在这之前&#xff…

【Win10设备管理器中无端口选项】

计算机疑难杂症分享002 Win10设备管理器中无端口选项1、问题现象2、问题原因3、问题解决3.1、驱动精灵(亲测的此方法)3.2、添加过时硬件3.3、官方的方法 Win10设备管理器中无端口选项 1、问题现象 当我调试串口通信时&#xff0c;发现打开设备管理器没有端口&#xff0c;打开…

Docker停止不了

报错信息 意思是&#xff0c;docker.socket可能也会把docker服务启动起来 解决 检查服务状态 systemctl status dockersystemctl is-enabled docker停止docker.socket systemctl stop docker.socket停止docker systemctl stop docker知识扩展 安装了docker后&#xff0c;…

[ue5]编译报错:使用未定义的 struct“FPointDamageEvent“

编译报错&#xff0c;错误很多&#xff0c;但很明显核心问题是第一个&#xff1a;使用未定义的 struct“FPointDamageEvent“&#xff1a; 程序没有找到FPointDamageEvent的定义。 解决办法&#xff1a; 处理这类未定义都可以先F12&#xff0c;找到它的库位置&#xff0c;之后…