LeetCode--844--比较含退格的字符串(java)
给定 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 <= 2001 <= T.length <= 200S和T只含有小写字母以及字符'#'。
class Solution {
public boolean backspaceCompare(String S, String T) {
Stack<Character> stacks = new Stack<Character>();
Stack<Character> stackt = new Stack<Character>();
for(int i = 0;i < S.length();i++){
if(S.charAt(i)=='#' && !stacks.isEmpty()){
stacks.pop();
continue;
}else if(S.charAt(i) != '#'){
stacks.push(S.charAt(i));
}
}
for(int j = 0;j < T.length();j++){
if(T.charAt(j)=='#' && !stackt.isEmpty()){
stackt.pop();
continue;
}else if(T.charAt(j) != '#'){
stackt.push(T.charAt(j));
}
}
while(!stacks.isEmpty()&&!stackt.isEmpty()){
if(stacks.pop()!=stackt.pop()){
//System.out.println("1");
return false;
}
}
if((stacks.isEmpty() && !stackt.isEmpty() )||(!stacks.isEmpty() && stackt.isEmpty() )){
//System.out.println("2");
return false;
}
return true;
}
}
官方大佬:
class Solution {
public boolean backspaceCompare(String S, String T) {
char[] stack1 = new char[S.length()];
char[] stack2 = new char[T.length()];
int top1 = 0;
for(int i = 0; i < S.length(); i++){
if(S.charAt(i) != '#')
stack1[top1++] = S.charAt(i);
else if(top1 > 0)
top1--;
}
int top2 = 0;
for(int i = 0; i < T.length(); i++){
if(T.charAt(i) != '#')
stack2[top2++] = T.charAt(i);
else if(top2 > 0)
top2--;
}
if(top1 != top2)
return false;
for(int i = 0; i < top1; i++){
if(stack1[i] != stack2[i])
return false;
}
return true;
}
}
2019-03-08 11:10:32
LeetCode--844--比较含退格的字符串(java)的更多相关文章
- LeetCode:比较含退格字符串【844】
LeetCode:比较含退格字符串[844] 题目描述 给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果. # 代表退格字符. 示例 1: 输入:S = ...
- 【LeetCode题解】844_比较含退格的字符串(Backspace-String-Compare)
目录 描述 解法一:字符串比较 思路 Java 实现 Python 实现 复杂度分析 解法二:双指针(推荐) 思路 Java 实现 Python 实现 复杂度分析 更多 LeetCode 题解笔记可以 ...
- C#LeetCode刷题之#844-比较含退格的字符串(Backspace String Compare)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/4030 访问. 给定 S 和 T 两个字符串,当它们分别被输入到空 ...
- [Swift]LeetCode844. 比较含退格的字符串 | Backspace String Compare
Given two strings S and T, return if they are equal when both are typed into empty text editors. # m ...
- leetcode-844-比较含退格的字符串(用vector取代stack)
题目描述: 给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果. # 代表退格字符. 示例 1: 输入:S = "ab#c", T = ...
- Q844 比较含退格的字符串
给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果. # 代表退格字符. 示例 1: 输入:S = "ab#c", T = " ...
- Leetcode844.Backspace String Compare比较含退格的字符串
给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果. # 代表退格字符. 示例 1: 输入:S = "ab#c", T = " ...
- LeetCode844 比较含退格的字符串
题目描述: 给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果. # 代表退格字符. 示例 1: 输入:S = "ab#c", T = ...
- [LeetCode] Backspace String Compare 退格字符串比较
Given two strings S and T, return if they are equal when both are typed into empty text editors. # m ...
随机推荐
- C语言动态链表数据结构
链表的操作增删改查 typedef int DATA; struct SNode { DATA data; SNode* pNext; }; SNode* g_head=NULL;//全局变量 //从 ...
- (一)flutter第一天
import 'package:flutter/material.dart'; void main() => runApp(new MyApp()); class MyApp extends S ...
- vue项目从引入vue.js 改为使用vue-cil (webpack)时修改的一些内容
在元素属性中不要写js关键字,会报使用关键字的错如@click='if(){}else{}', if-else 语句可以使用三元表达式或短路运算符来实现 v-for 不写:key 会有警告 ,使用: ...
- Paper Read: Robust Deep Multi-modal Learning Based on Gated Information Fusion Network
Robust Deep Multi-modal Learning Based on Gated Information Fusion Network 2018-07-27 14:25:26 Paper ...
- Unity3D学习笔记(三十三):矩阵
矩阵 矩阵就是一行和列组织起来的矩形数字块. 矩阵可以理解为是向量的数组. 矩阵的维度和记法 矩阵的维度是包含多少行多少列!例如1行2列的矩阵 记法:矩阵m中,对于第1行第2列的元素,我们记为m1 ...
- printf和cout的区别详述
https://blog.csdn.net/ysayk/article/details/50959909
- Python中的垃圾回收机制
Python的垃圾回收机制 引子: 我们定义变量会申请内存空间来存放变量的值,而内存的容量是有限的,当一个变量值没有用了(简称垃圾)就应该将其占用的内存给回收掉,而变量名是访问到变量值的唯一方式,所以 ...
- 【Selenium2】【selenium之 定位以及切换frame(iframe)】
参考:http://blog.csdn.net/huilan_same/article/details/52200586 总有人看不明白,以防万一,先在开头大写加粗说明一下: frameset不用切, ...
- MVC杂记
@{ Layout = “…”} To define layout page Equivalent to asp.NET master-page 要定义相当于ASP.Net母版页的页面布局 @mode ...
- 【UOJ】【BZOJ】 [Zjoi2016]小星星
题目链接: http://uoj.ac/problem/185 http://www.lydsy.com/JudgeOnline/problem.php?id=4455 考虑枚举原图中我选择哪一些点, ...