LeetCode题解-有效的括号-Java

简介: 有效的括号-Java

这是一道比较经典的使用栈的题。总的来说难度不大,比较有趣。
建议先自己玩玩,没什么思路可以看看我这边的题解。

class Solution {
   
    public static boolean isValid(String s) {
   
        if(s.isEmpty())return true;
        else {
   
            int slength = s.length();
            int point = 0;
            Stack<Character> bracketStack = new Stack<Character>();
            char bracket; 
            while( point < slength ) {
   
                if(bracketStack.isEmpty()) {
   
                    bracketStack.push(s.charAt(point));
                    point++;
                    continue;
                }
                bracket = s.charAt(point);
                //40是“(”,41是“)”
                if(bracketStack.peek()==40&&bracket==41) {
   
                    bracketStack.pop();
                }
                //91是“[”,92是“]”
                else if(bracketStack.peek()==91&&bracket==93) {
   
                        bracketStack.pop();
                }
                //123是“{”,125是“}”
                else if(bracketStack.peek()==123&&bracket==125) {
   
                            bracketStack.pop();
                }
                else {
   
                    bracketStack.push(bracket);
                }
                point++;
            }
            if(bracketStack.isEmpty())return true;
            return false;
        }
    }
}
目录
相关文章
|
2月前
|
算法 Java
[Java·算法·简单] LeetCode 27. 移除元素 详细解读
[Java·算法·简单] LeetCode 27. 移除元素 详细解读
25 1
|
20天前
|
算法 Java C语言
C++和Java中的随机函数你玩明白了吗?内附LeetCode470.rand7()爆改rand10()巨详细题解,带你打败LeetCode%99选手
C++和Java中的随机函数你玩明白了吗?内附LeetCode470.rand7()爆改rand10()巨详细题解,带你打败LeetCode%99选手
|
2月前
|
算法 Java
[Java·算法·简单] LeetCode 13. 罗马数字转整数 详细解读
[Java·算法·简单] LeetCode 13. 罗马数字转整数 详细解读
23 0
|
2月前
|
算法 Java
[Java·算法·中等] LeetCode15. 三数之和
[Java·算法·中等] LeetCode15. 三数之和
30 0
|
16天前
|
存储 Java C++
leetcode 2525 根据规则将箱子分类 c++ pyhton java c题解
leetcode 2525 根据规则将箱子分类 c++ pyhton java c题解
14 1
|
2月前
|
算法 Java
[Java·算法·简单] LeetCode 28. 找出字符串中第一个匹配项的下标 详细解读
[Java·算法·简单] LeetCode 28. 找出字符串中第一个匹配项的下标 详细解读
23 0
|
2月前
|
算法 Java
[Java·算法·简单] LeetCode 14. 最长公共前缀 详细解读
[Java·算法·简单] LeetCode 14. 最长公共前缀 详细解读
22 0
|
2月前
|
算法 Java 索引
[Java·算法·简单] LeetCode 141. 环形链表 详细解读
[Java·算法·简单] LeetCode 141. 环形链表 详细解读
23 0
|
2月前
|
机器学习/深度学习 算法
力扣刷题日常(一)
力扣刷题日常(一)
20 2
|
2月前
|
存储 索引
《LeetCode》—— LeetCode刷题日记
《LeetCode》—— LeetCode刷题日记