领扣LintCode算法问题答案-1425. 比较含退格的字符串
目录
1425. 比较含退格的字符串描述样例 1:样例 2:样例 3:样例 4:
题解鸣谢
1425. 比较含退格的字符串
描述
给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。
1 <= S.length <= 2001 <= T.length <= 200S 和 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”。
题解
public class Solution {
public boolean backspaceCompare(String S
, String T
) {
StringBuilder ssb
= new StringBuilder();
StringBuilder tsb
= new StringBuilder();
for (char c
: S
.toCharArray()) {
if ('#' == c
) {
if (ssb
.length() > 0) {
ssb
.setLength(ssb
.length() - 1);
}
} else {
ssb
.append(c
);
}
}
for (char c
: T
.toCharArray()) {
if ('#' == c
) {
if (tsb
.length() > 0) {
tsb
.setLength(tsb
.length() - 1);
}
} else {
tsb
.append(c
);
}
}
return tsb
.toString().equals(ssb
.toString());
}
}
原题链接点这里
鸣谢
非常感谢你愿意花时间阅读本文章,本人水平有限,如果有什么说的不对的地方,请指正。 欢迎各位留言讨论,希望小伙伴们都能每天进步一点点。