1. 程式人生 > >LeetCode:比較含退格字串【844】

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();
    }


    
}