题解 | #合法括号序列判断#

合法括号序列判断

http://www.nowcoder.com/questionTerminal/d8acfa0619814b2d98f12c071aef20d4

import java.util.*;

public class Parenthesis {
    public boolean chkParenthesis(String A, int n) {
        /** //方法一。用count来计数
        if(n % 2 == 1) {
            return false;
        }
        int count = 0;
        for(int i = 0; i < n; i++){
            if (A.charAt(i) == '(') {
                count++;
            } else if(A.charAt(i) == ')') {
            if(count < 0) {
            return false;
            }
                count--;
            } else {
                count = -1;
                break;
            }
        }
        if(count == 0) {
            return true;
        } else {
            return false;
        }
        */
        //方法二:用栈来储存
        if(n % 2 == 1) {
            return false;
        }
        Stack<Character> stack = new Stack();
        for(char ch: A.toCharArray()){
            if (ch == '(') {
                stack.push(ch);
            } else if(ch == ')') {
                if(stack.isEmpty()){
                    return false;
                } else if(stack.peek() == '(') {
                    stack.pop();
                }
            } else {
                return false;
            }
        }
        return stack.isEmpty();
   }
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-04 18:25
点赞 评论 收藏
分享
码农索隆:单休一个月少休息4天,一年就是48天,平时节假日,别人3天假期,单休的两天
点赞 评论 收藏
分享
05-29 22:11
门头沟学院 Java
Elastic90:抛开学历造假不谈,这公司的招聘需求也挺怪的,Java开发还要求你有图文识别、移动端开发和c++的经验,有点逆天了。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务