uva 673 Parentheses Balance (平衡的括号)堆栈模拟

    xiaoxiao2021-03-25  55

    模拟堆栈,遇到()或者[]就出栈,如果最后堆栈为空则说明合法

    import java.util.Scanner; import java.util.Stack; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); Stack<Character> s = new Stack<>(); int n = scan.nextInt(); scan.nextLine(); for(int i=0;i<n;i++){ while(!s.isEmpty()){ s.pop(); } String str = scan.nextLine(); for(int j=0;j<str.length();j++){ char c = str.charAt(j); if(c=='('||c=='['){ s.add(c); }else if(c==')'||c==']'){ if(s.isEmpty()){ s.add(c); } if(c==']'){ if(s.peek()=='['){ s.pop(); } }else if(c==')'){ if(s.peek()=='('){ s.pop(); } } } } if(s.isEmpty()){ System.out.println("Yes"); }else{ System.out.println("No"); } } } }

    转载请注明原文地址: https://ju.6miu.com/read-36149.html

    最新回复(0)