Valid Parentheses @LeetCode
package Level2; import java.util.Stack; /** * * Valid Parentheses * * Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid. The brackets must close in the correct order, "()" and "()[]{}" are all valid but "(]" and "([)]" are not. * */ public class S20 { public static void main(String[] args) { } // 用stack来检查 public boolean isValid(String s) { Stack<Character> stack = new Stack<Character>(); for(int i=0; i<s.length(); i++){ char c = s.charAt(i); // 如果遇到前括号就压入栈 if(c=='(' || c=='[' || c=='{'){ stack.push(c); }else if(c==')' || c==']' || c=='}'){ // 遇到后括号就出栈 if(stack.size() == 0){ // 说明后括号太多了 return false; } char cpop = stack.pop(); if(cpop=='(' && c==')'){ continue; }else if(cpop=='[' && c==']'){ continue; }else if(cpop=='{' && c=='}'){ continue; } return false; } } return stack.size()==0; } }
补充:软件开发 , Java ,