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