0
点赞
收藏
分享

微信扫一扫

leetcode有效的括号

爱做梦的夏夏 2022-02-13 阅读 81
leetcodeJava

题目描述:

给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。

有效字符串需满足:

    左括号必须用相同类型的右括号闭合。
    左括号必须以正确的顺序闭合。

样例:

示例 1

输入:s = "()"
输出:true

示例 2:

输入:s = "()[]{}"
输出:true

示例 3:

输入:s = "(]"
输出:false

示例 4:

输入:s = "([)]"
输出:false

示例 5:

输入:s = "{[]}"
输出:true

提示:

  • 1 <= s.length <= 104
  • s 仅由括号 '()[]{}' 组成

Java程序:

class Solution {
    public boolean isValid(String s) {
        Stack<Character> stack=new Stack<>();
        for(int i=0;i<s.length();i++){
            char ch=s.charAt(i);
            if(ch=='('||ch=='['||ch=='{'){
                stack.push(ch);
            }else if(stack.isEmpty()||ch==')'&&stack.pop()!='('||ch==']'&&stack.pop()!='['||ch=='}'&&stack.pop()!='{'){
                return false;
            }
        }
        return stack.isEmpty();
    }
}
举报

相关推荐

0 条评论