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

吞佛童子2022年6月20日
  • algorithm
  • queue
  • stack
小于 1 分钟

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

难度: 🌗

问题描述

img_8.png


解法

class Solution {
    public String removeDuplicates(String s) {
        // 思路:
        // 借助 栈
        LinkedList<Character> stack = new LinkedList<>();
        for(char c : s.toCharArray()) {
            if(stack.isEmpty()) {
                stack.push(c);
            } else {
                char left = stack.peek();
                if(c == left) {
                    stack.pop();
                } else {
                    stack.push(c);
                }
            }
        }
        StringBuilder sb = new StringBuilder();
        while(!stack.isEmpty()) {
            sb.append(stack.removeLast());
        }
        return sb.toString();
    }
}

输出

img_7.png

上次编辑于: 2022/10/10 下午8:43:48
贡献者: liuxianzhishou