首页 > 代码库 > LeetCode Valid Parentheses

LeetCode 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.




用堆栈思想解决。


import java.util.*;
public class Solution {
public boolean isValid(String s) {
        Stack<String> stack = new Stack<String>();
        for(int i=0;i<s.length();i++)
        {
            if(s.charAt(i)=='('||s.charAt(i)=='['||s.charAt(i)=='{')
                stack.push(String.valueOf(s.charAt(i)));
            else{
                if(stack.empty())
                {
                    return false;
                }
                if(s.charAt(i)==')'){
                    if(stack.peek().equals("("))
                        stack.pop();
                    else
                    return false;}
                else if(s.charAt(i)==']'){
                    if(stack.peek().equals("["))
                        stack.pop();
                    else
                    return false;}
                else if(s.charAt(i)=='}'){
                    if(stack.peek().equals("{"))
                        stack.pop();
                    else
                    return false;}
                }
        }
        if(stack.empty())
        return true;
        else
        return false;
}
};


LeetCode Valid Parentheses