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

合法括号序列判断

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-14 16:13
已编辑
重庆科技大学 测试工程师
Amazarashi66:不进帖子我都知道🐮❤️网什么含金量
点赞 评论 收藏
分享
尊嘟假嘟点击就送:加v细说,问题很大
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务