【LeeCode】844.比较含退格的字符串

news/2024/11/7 23:58:19/

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

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

解:同时从后向前遍历S和T(i初始为s末尾,j初始为t末尾),记录#的数量,模拟消除的操作,如果#用完了,就开始比较S[i]和S[j]。

  • 时间复杂度:O(n + m)

  • 空间复杂度:O(1)

class Solution {public boolean backspaceCompare(String s, String t) {int sSkipNum = 0; // 记录S的#数量int tSkipNum = 0; // 记录T的#数量int i = s.length() - 1;int j = t.length() - 1;while (true) {while (i >= 0) { // 从后向前,消除S的#if (s.charAt(i) == '#') sSkipNum++;else {if (sSkipNum > 0) sSkipNum--;else break;}i--;}while (j >= 0) { // 从后向前,消除T的#if (t.charAt(j) == '#') tSkipNum++;else {if (tSkipNum > 0) tSkipNum--;else break;}j--;}// 后半部分#消除完了,接下来比较S[i] != T[j]if (i < 0 || j < 0) break; // S 或者T 遍历到头了if (s.charAt(i) != t.charAt(j)) return false;i--;j--;}// 说明S和T同时遍历完毕if (i == -1 && j == -1) return true;return false;}
}


http://www.ppmy.cn/news/1241488.html

相关文章

数据结构 / 计算机内存分配

1. Linux 32位系统内存分配 栈(stack): 先进后出, 栈区变量先定义的后分配内存, 栈区地址从高到低分配堆(heap): 先进先出, 栈区变量先定义的先分配内存, 堆区地址从低到高分配堆栈溢出: 表示的是栈区内存耗尽, 称为溢出. 例如: 每次调用递归都需要在栈区申请内存, 如果递归太深…

Centos 7 更改 PostgreSQL 14 默认存储路径

前言&#xff1a; 默认PostgreSQL数据存储路径为&#xff1a;/var/lib/pgsql/14/data 迁移到新的存储路径&#xff1a;/mnt/postgresql/data 1、关闭PostgreSQL服务 systemctl stop postgresql-142、创建目录 # 创建新目录 mkdir -p /mnt/postgresql/data# 更改目录权限 chow…

基于单片机压力传感器MPX4115检测-报警系统proteus仿真+源程序

一、系统方案 1、本设计采用这51单片机作为主控器。 2、MPX4115采集压力值、DS18B20采集温度值送到液晶1602显示。 3、按键设置报警值。 4、蜂鸣器报警。 二、硬件设计 原理图如下&#xff1a; 三、单片机软件设计 1、首先是系统初始化 /*********************************…

30系列显卡在ubuntu下不能满血运行的问题

之前发现在ubuntu下&#xff0c;我的3080只能跑115w最高&#xff0c;而这在win下是可以跑165w的。于是乎google了所有结果&#xff0c;无解… 现已经过去一年&#xff0c;显卡价格飞涨&#xff0c;无奈只能使用笔记本跑自己的代码了。结果发现nvidia推了Linux下的动态加速&…

电源控制系统架构(PCSA)之系统分区电压域

目录 4.1 电压域 4.1.1 系统逻辑 4.1.2 Always-On逻辑 4.1.3 处理器Clusters 4.1.4 图形处理器 4.1.5 其他功能 4.1.6 SoC分区示例 本章描述基于Arm组件的SoC划分为电压域和电源域。 所描述的选择并不详尽&#xff0c;只是可能性的一个子集。目的是描述基于Arm组件的SoC…

Android逆向实战 - MIUI调起三方应用系统拦截弹窗分析

近期&#xff0c;发现在部分Android手机调起其他应用时&#xff0c;会弹出一个系统弹窗拦截调起&#xff0c;需要用户二次确认。经过内部众测&#xff0c;发现绝大多数是小米手机&#xff0c;而且跟Android版本没有直接关系&#xff0c;猜测是MIUI某次升级引入的功能。这篇文章…

生活知识也需要学习--处理灰指甲

我的灰指甲从我读大学时发生&#xff0c;当时还患过鸡眼&#xff0c;还好同学爷爷有秘方&#xff0c;把鸡眼挑出&#xff08;无麻药&#xff09;&#xff0c;涂抹药膏&#xff0c;一次见效。 而左脚的灰指甲&#xff0c;也专门治疗过2次&#xff0c;但没有效果。 今天看到了柏…

nodejs微信小程序+python+PHP-健身俱乐部在线管理平台的设计与实现-安卓-计算机毕业设计

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性&#xff1a;…