leetcode刷题第五天
20. Valid Parentheses
Given a string containing just the characters ‘(’, ‘)’, ‘{’, ‘}’, ‘[’ and ‘]’, determine if the input string is valid.
An input string is valid if:
Open brackets must be closed by the same type of brackets.
Open brackets must be closed in the correct order.
Note that an empty string is also considered valid.
Example 1:
Input: “()”
Output: true
Example 2:
Input: “()[]{}”
Output: true
Example 3:
Input: “(]”
Output: false
Example 4:
Input: “([)]”
Output: false
Example 5:
Input: “{[]}”
Output: true
代码:
import java.util.Stack;
public class Solution {
public static boolean isValid(String s) {
if(s.length()%2!=0)
return false;
Stack<Character> stack = new Stack<Character>();
for(int i = 0;i<s.length();i++) {
char ch = s.charAt(i);
if(ch == '('||ch=='{'||ch == '[') {
stack.push(ch);
}
else if(stack.size()>0){
if(ch == ')'&& stack.peek()=='(') {
stack.pop();
}
if(ch == '}'&& stack.peek()=='{') {
stack.pop();
}
if(ch == ']'&& stack.peek()=='[') {
stack.pop();
}
}
}
return stack.empty()?true:false;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(isValid("[]()"));
}
}