1047. 删除字符串中的所有相邻重复项(Easy)

题目

题目及示例

我的题解

class Solution {
    public String removeDuplicates(String s) {
        Stack<Character> stack = new Stack<>();
        stack.push(s.charAt(0));

        for (int i = 1; i < s.length(); i++) {
            char thisChar = s.charAt(i);
            if (!stack.isEmpty() && stack.peek() == thisChar) {
                stack.pop();
            } else {
                stack.push(thisChar);
            }
        }
        String ans = "";
        while (!stack.isEmpty()){
            ans = stack.pop() + ans;
        }
        return ans;
    }
}

总结

  • 遇到栈的题目,不一定要真的建立一个栈,这样比较浪费时间空间。
上一篇:[PAT乙级]1047 编程团体赛


下一篇:1047 编程团体赛 (20 分)