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

合法括号序列判断

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();
   }
}

全部评论

相关推荐

11-27 17:08
已编辑
牛客_产品运营部_私域运营
腾讯 普通offer 24k~26k * 15,年包在36w~39w左右。
点赞 评论 收藏
分享
找不到工作死了算了:没事的,雨英,hr肯主动告知结果已经超越大部分hr了
点赞 评论 收藏
分享
像好涩一样好学:这公司我也拿过 基本明确周六加班 工资还凑活 另外下次镜头往上点儿
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务