LeetCode:比较含退格字符串【844】

LeetCode:比较含退格字符串【844】

题目描述

给定 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. 1 <= S.length <= 200
  2. 1 <= T.length <= 200
  3. S 和 T 只含有小写字母以及字符 '#'

题目分析

  栈的应用。

Java题解

class Solution {
   public boolean backspaceCompare(String S, String T) {
        return getStr(S).equals(getStr(T));
    }

    public String getStr(String s)
    {
        Stack<Character> stack1 = new Stack<>();
            for (char c:s.toCharArray())
            {
                if(c=='#'&&!stack1.isEmpty()) {
                    stack1.pop();
                    continue;
                }
                if(c=='#')
                    continue;
                stack1.push(c);
            }
        return  stack1.toString();
    }


    
}

猜你喜欢

转载自www.cnblogs.com/MrSaver/p/9946775.html