LeetCode:比較含退格字串【844】
阿新 • • 發佈:2018-11-12
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 <= S.length <= 200
1 <= T.length <= 200
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(); } }