领扣LintCode算法问题答案-1425. 比较含退格的字符串

    科技2022-07-13  126

    领扣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 { /** * @param S: string S * @param T: string T * @return: Backspace String Compare */ public boolean backspaceCompare(String S, String T) { // Write your code here 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()); } }

    原题链接点这里

    鸣谢

    非常感谢你愿意花时间阅读本文章,本人水平有限,如果有什么说的不对的地方,请指正。 欢迎各位留言讨论,希望小伙伴们都能每天进步一点点。

    Processed: 0.012, SQL: 8