20. Valid Parentheses

import java.util.Stack;

public class Solution {
    public boolean isValid(String s) {
        int size=s.length();
        if(size==0)
            return true;
        boolean res=true;
        Stack<Character> stack=new Stack<Character>();
        for(int i=0;i<size;i++)
        {
            char c=s.charAt(i);
            if(c=='('||c== '{'||c=='[')
            {
                stack.add(c);
            }
            else
            {
                if(stack.isEmpty())
                {
                    res=false;
                    break;
                }
                char temp=stack.pop();
                if(c==')')
                {
                    if(temp!='(')
                    {
                        res=false;
                        break;
                    }
                }
                else if(c=='}')
                {
                    if(temp!='{')
                    {
                        res=false;
                        break;
                    }
                }
                else
                {
                    if(temp!='[')
                    {
                        res=false;
                        break;
                    }
                }
            }
        }
        
        if(!stack.isEmpty())
            res=false;
        return res;
        
    }
}

 

posted @ 2016-07-18 21:43  阿怪123  阅读(119)  评论(0编辑  收藏  举报