Hi~!这里是奋斗的明志,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~
🌱🌱个人主页:奋斗的明志
🌱🌱所属专栏:数据结构
📚本系列文章为个人学习笔记,在这里撰写成文一为巩固知识,二为展示我的学习过程及理解。文笔、排版拙劣,望见谅。
文章目录
前言
- 栈、虚拟机栈、栈帧有什么区别呢?
- 栈 ---- 数据结构
- 虚拟机栈 ---- JVM内存
- 栈帧 ---- 调用方法的时候开辟的内存
一、有效的括号
1.题目
2.解析
3.代码展示
class Solution {
//s为字符串
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()){
return false;
}
//栈不为空
//拿到栈顶元素
//看是否匹配
char tmp = stack.peek();
if(tmp == '(' && ch == ')'){
stack.pop();
}else if(tmp == '{' && ch == '}'){
stack.pop();
}else if(tmp == '[' &&a