码迷,mamicode.com
首页 > 其他好文 > 详细

【LeetCode】20. Valid Parentheses

时间:2016-11-08 23:04:47      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:rdp   image   tco   aaaaa   air   ++   tmux   new   amp   

题目:

技术分享

思路:用Stack基本操作完成。

要检测输入字符是否满足这个条件,一个非常合适的数据结构是stack,后进先出的特征正好满足检测的需求。在检测的时候,每次检查一个字符,如果是左括号,就入栈,如果是右括号,并且右括号和当前栈顶符号是左右配对的,那么就弹出栈顶并且进行下一次检测,如果不满足上面两种情况,就说明检查到了一个非法字符,返回false.

public class Solution {
    public boolean isValid(String s) {
        if(s.length()==0){
            return true;
        }
        Stack<Character> st=new Stack<Character>();
        st.push(s.charAt(0));
        for(int i=1;i<s.length();i++){
            if(!st.empty()&&isMatch(st.peek(),s.charAt(i))){
                st.pop();
            }else
                st.push(s.charAt(i));
        }
        if(st.empty()){
            return true;
        }
        return false;
    }
    
    public static boolean isMatch(char s,char p){
        if((s==‘(‘&&p==‘)‘)||(s==‘[‘&&p==‘]‘)||(s==‘{‘&&p==‘}‘)){
            return true;
        }else
            return false;
    }
}

 

【LeetCode】20. Valid Parentheses

标签:rdp   image   tco   aaaaa   air   ++   tmux   new   amp   

原文地址:http://www.cnblogs.com/zhstudy/p/6044812.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!