题解 | #有效括号序列#

有效括号序列

http://www.nowcoder.com/practice/37548e94a270412c8b9fb85643c8ccc2

import java.util.*;


public class Solution {
    /**
     * 
     * @param s string字符串 
     * @return bool布尔型
     */
    public boolean isValid (String s) {
        // write code here
        boolean flag = false;    // 描述返回值(是否有效)
        Stack stack = new Stack();
        for(int i = 0 ; i < s.length() ; i++) {
            char c = s.charAt(i);
            if(c == '{' || c == '[' || c == '(') {    // 如果是左括号就压栈
                stack.push(c);
            } else {    // 如果不是左括号的话就要从栈中弹出一个元素与现在的元素匹配
                if(stack.empty()) {    // 有右括号要匹配但是栈为空
                    return false;
                }
                char p = (char)stack.pop();
                if(p == '{' && c == '}') {
                    flag = true;
                } else if(p == '[' && c == ']') {
                    flag = true;
                } else if(p == '(' && c == ')') {
                    flag = true;
                } else {
                    return false;
                }
            }
        }
        if(stack.empty()) { // 遍历结束后再次验证栈是否为空
            return flag;
        } else {
            return false;
        }
    }
}
全部评论

相关推荐

在秋招的小白菜很想养修勾:一眼 苍穹外卖+谷粒商城,项目换一换吧,可以找一些付费知识星球博主带带,避免烂大街。多投投大厂,背背八股,你这学历乱杀了,等实习经验到位,到时候大厂闭眼选
投递美团等公司7个岗位
点赞 评论 收藏
分享
Southyeung:我说一下我的看法(有冒犯实属抱歉):(1)简历不太美观,给我一种看都不想看的感觉,感觉字体还是排版问题;(2)numpy就一个基础包,机器学习算法是什么鬼?我感觉你把svm那些写上去都要好一点。(2)课程不要写,没人看,换成获奖经历;(3)项目太少了,至少2-3个,是在不行把网上学习的也写上去。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务