20.有效的括号【简单】

有效的括号【简单】

题意

1、就是括号可以互相包含,但不能参差摆放,如下例:
"{[]}()" true
({)} false

思路

1、就是多层if判断
2、如果有[或{或(就把相应另外一半放进去。
3、最后判断这个栈是否为空,如果为空,就是有效的括号。如果不为空,就不是有效的括号

代码

class Solution {
    public boolean isValid(String s) {
        Deque<Character> que = new LinkedList<>();
        char ch ;
        for(int i =0;i<s.length();i++){
            ch = s.charAt(i);
            // 如果遇到左括号就直接入栈,并把右括号放进去
            if(ch=='('){
                que.push(')');
            }else if (ch=='{'){
                que.push('}');
            }else if(ch=='['){
                que.push(']');
            }else if(que.isEmpty() || que.peek()!=ch){
                return false;
            }else{
                //如果出现的右括号,看看能不能和栈顶元素进行匹配。匹配就取出
                que.pop();
            }

        }
        // 最后判断栈中元素是否匹配
        return que.isEmpty();
    }
}
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇