首页 > 编程语言 >代码随想录算法训练营第十一天【栈与队列】20.有效的括号、1047.删除字符串中的所有相邻重复项、150.逆波兰表达式求值

代码随想录算法训练营第十一天【栈与队列】20.有效的括号、1047.删除字符串中的所有相邻重复项、150.逆波兰表达式求值

时间:2023-02-11 17:48:30浏览次数:57  
标签:第十一天 150 遍历 20 括号 随想录 字符串 求值

20.有效的括号 力扣题目链接 心得:栈的经典题目,先进后出,有三种return false的情况。   1)遍历字符串完成,但是栈不为空。说明左括号比右括号多,导致栈中多存了数据   2)遍历字符串中,遍历到的右括号和栈顶的不一致。说明括号的类型没有匹配上
  3)遍历字符串中,栈已经为空了。说明右括号比左括号多,栈里少存了数据

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

1047.删除字符串中的所有相邻重复项

力扣题目链接

 

150.逆波兰表达式求值

力扣题目链接

 

标签:第十一天,150,遍历,20,括号,随想录,字符串,求值
From: https://www.cnblogs.com/camping/p/17112192.html

相关文章