标签:main out 一个 public for style font put 出栈
public class Parentheses { public static void main(String[] args) { Stack<String> s = new Stack<>(); String string = StdIn.readString(); String[] inputs = string.split(""); //获取每一个字符 for (String input : inputs){ if (input.equals("{")||input.equals("(")||input.equals("[")){ s.push(input); }else if (!s.isEmpty()){ if (input.equals("}")){ if (!s.pop().equals("{")){ System.out.println(false); break; } } if (input.equals(")")){ if (!s.pop().equals("(")){ System.out.println(false); break; } } if (input.equals("]")){ if (!s.pop().equals("[")){ System.out.println(false); break; } } } } if (s.isEmpty()){ System.out.println(true); } } }
解题思路:
如果输入的是左括号就压栈
如果输入的是右括号就获取栈顶元素并判断是否和右括号配对
如果出栈元素与输入元素不配对 则配对错误
如果配对成功,此时所有元素都应该出栈,栈为空
标签:main out 一个 public for style font put 出栈
原文地址:https://www.cnblogs.com/pxy-1999/p/13215409.html