题解 | #有效括号序列#

有效括号序列

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

import java.util.*;


public class Solution {
    
    public boolean isValid (String s) {
        // write code here
        if(s.length()<2){
            return false;
        }
        //遍历字符串遇到左括号等等将它对应的右括号加入栈,遇到右括号
        // 判断是否是一致是的话出栈
    
        Stack<Character> stack1 = new Stack();
       
        for(int i=0;i<s.length();i++){
            if(s.charAt(i)=='('){
                stack1.add(')');
            }else if(s.charAt(i)=='{') {
                stack1.add('}');
                
            }else if(s.charAt(i)=='['){
                stack1.add(']');
            }else if(!stack1.empty()&&s.charAt(i)==stack1.peek()){
                //当不为空并且遇到右括号时判断栈顶元素是否相同
                // 相同弹出即可
                stack1.pop();
            }else if(stack1.empty()){
                //如果此时栈为空且没有遇到左边的说明不符和
                return false;
               

            }

        }

        // 最后判断栈是否为空
        if(stack1.empty()){
            return true;
        }else{
             return false;
        }
                                              
       
    }
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-11 11:00
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-09 12:30
点赞 评论 收藏
分享
06-07 19:59
门头沟学院 C++
补药卡我啊😭:都快15年前的了还在11新特性
你的简历改到第几版了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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