Q844 比较含退格的字符串
2024-09-11 04:07:42
给定 S
和 T
两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 #
代表退格字符。
示例 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 = "#a#c"
输出:true
解释:S 和 T 都会变成 “c”。
示例 4:
输入:S = "a#c", T = "b"
输出:false
解释:S 会变成 “c”,但 T 仍然是 “b”。
提示:
1 <= S.length <= 200
1 <= T.length <= 200
S
和T
只含有小写字母以及字符'#'
。
class Solution {
public boolean backspaceCompare(String S, String T) {
Deque<Character> stack1 = new LinkedList<>();
Deque<Character> stack2 = new LinkedList<>();
char[] chs1 = S.toCharArray();
char[] chs2 = T.toCharArray();
for (char c : chs1) {
if (c == '#') {
if (!stack1.isEmpty())
stack1.pop();
} else {
stack1.push(c);
}
}
for (char c : chs2) {
if (c == '#') {
if (!stack2.isEmpty())
stack2.pop();
} else {
stack2.push(c);
}
}
if (stack1.size() != stack2.size())
return false;
else {
for (int i = 0; i < stack1.size(); i++) {
if (stack1.pop() != stack2.pop())
return false;
}
return true;
}
}
}
最新文章
- java中的final的使用
- 利用SQL 建立和删除 LINKED SERVER
- Android入门(六)碎片
- e_msg_c_gs_enter_gs_req
- paip.提高稳定性---自动检测sleep mysql数据库死连接以及kill
- SQL注入攻击技巧总结
- 关于Win7图标丢失、不正常显示的修复方法
- POJ 1986 Distance Queries (最近公共祖先,tarjan)
- [转载]Eziriz .NET Reactor 4.7.0.0 官方原版+破解补丁(强大的代码保护和软件防盗版工具)
- 第13章、布局Layouts之RelativeLayout相对布局(从零開始学Android)
- 4.mysql数据库创建,表中创建模具模板脚本,mysql_SQL99标准连接查询(恩,外部连接,全外连接,交叉连接)
- Qt中利用QTime类来控制时间,这里简单介绍一下QTime的成员函数的用法:
- 1.Maven的安装及配置
- django初探-创建简单的博客系统(二)
- 基于 MySQL 的数据库实践(自然连接)
- dev gridControl 自定义绘制列头颜色
- (String) leetcode 67. Add Binary
- 网易2019校招内推编程题-瞌睡-C++实现
- Ubuntu18.04的网络管理netplan和防火墙ufw
- 发布自己的第一版asp.net core的RESTful接口程序