题解 | #有效括号序列#

有效括号序列

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
        if(s.length()%2!=0){
            return false;
        }
        LinkedList<Character> stack = new LinkedList<>();
        stack.push(s.charAt(0));
        for(int i = 1; i < s.length(); i++){
            if(stack.isEmpty()||Math.abs(s.charAt(i)-stack.peekFirst())>3 || Math.abs(s.charAt(i)-stack.peekFirst())==0){
                stack.push(s.charAt(i));
            }else{
                stack.pop();
            }
        }
        return stack.isEmpty();
    }
}

全部评论

相关推荐

09-02 11:14
已编辑
四川大学 Java
吴offer选手:这种面试是最烦的,学不到东西,然后还被挂的莫名其妙。之前看到一种说法是面试官如果不想要你了,就会问一些很简单的问题,防止你举报他
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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