题解 | #有效括号序列#

有效括号序列

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

全部评论

相关推荐

爱看电影的杨桃allin春招:我感觉你在炫耀
点赞 评论 收藏
分享
铁锈不腻玩家:下面那个袁先生删了,问他怎么回事,头像都换不明白
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务