给定 ST 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。

示例 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. 1 <= S.length <= 200
  2. 1 <= T.length <= 200
  3. ST 只含有小写字母以及字符 '#'
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;
}
}
}

最新文章

  1. java中的final的使用
  2. 利用SQL 建立和删除 LINKED SERVER
  3. Android入门(六)碎片
  4. e_msg_c_gs_enter_gs_req
  5. paip.提高稳定性---自动检测sleep mysql数据库死连接以及kill
  6. SQL注入攻击技巧总结
  7. 关于Win7图标丢失、不正常显示的修复方法
  8. POJ 1986 Distance Queries (最近公共祖先,tarjan)
  9. [转载]Eziriz .NET Reactor 4.7.0.0 官方原版+破解补丁(强大的代码保护和软件防盗版工具)
  10. 第13章、布局Layouts之RelativeLayout相对布局(从零開始学Android)
  11. 4.mysql数据库创建,表中创建模具模板脚本,mysql_SQL99标准连接查询(恩,外部连接,全外连接,交叉连接)
  12. Qt中利用QTime类来控制时间,这里简单介绍一下QTime的成员函数的用法:
  13. 1.Maven的安装及配置
  14. django初探-创建简单的博客系统(二)
  15. 基于 MySQL 的数据库实践(自然连接)
  16. dev gridControl 自定义绘制列头颜色
  17. (String) leetcode 67. Add Binary
  18. 网易2019校招内推编程题-瞌睡-C++实现
  19. Ubuntu18.04的网络管理netplan和防火墙ufw
  20. 发布自己的第一版asp.net core的RESTful接口程序

热门文章

  1. debian 9 更换源 使用国内源 配置方法
  2. CRISPR/Cas9基因敲除原理及实验建议
  3. mysql 添加字段,修改字段的用法
  4. Yii项目开发总结
  5. 编写高质量代码改善C#程序的157个建议——建议140:使用默认的访问修饰符
  6. 编写高质量代码改善C#程序的157个建议——建议79:使用ThreadPool或BackgroundWorker代替Thread
  7. Opengl中的GLUT下的回调函数
  8. web项目不能链接数据库
  9. kali 下 apache 配置文件
  10. ZKEACMS 配置使用 HTTPS