和匹配括号类似,先将字符入栈,若字符与栈中字符匹配,则出栈,否则入栈 最后打印栈中剩余元素

import java.util.*;
public class Main{
    public static void main(String args[]){
        Scanner sc=new Scanner(System.in);
        Stack<Character> stack=new Stack<>();
        while(sc.hasNext()){
            String s=sc.nextLine();
            char[] arr=s.toCharArray();
            for(int i=0;i<arr.length;i++){
                 if(stack.isEmpty()){
                      stack.push(arr[i]);
                 }
               
                else if(arr[i]==stack.peek() && !stack.isEmpty()){
                    stack.pop();
                }else{
                    stack.push(arr[i]);
                }
            }
            //利用StringBuilder 输出栈中元素,若栈为空,打印0,否则,存入StringBuilder并反转输出
            StringBuilder sb=new StringBuilder();
            if(!stack.isEmpty()){
                while(!stack.isEmpty()){
                    sb.append(stack.pop());
                }
                System.out.print(sb.reverse());
            }else{
                System.out.print(0);
            }
        }
    }
}