简介

  • 一个后进先出的数据结构
  • js中没有栈,但可以用Array实现栈的所有功能

应用场景

需要后进先出的场景

十进制转二级制

后出来的余数反而要排到前面
把余数依次入栈,然后再出栈,就可以实现余数倒序输出

判断字符串的括号是否有效

越靠后的左括号 对应的右括号就越靠前
越靠后的左括号首先匹配右括号
左括号入栈,右括号出栈,栈空了就合法
((((()))))

函数调用堆栈

js解释器使用栈来控制函数的调用堆栈

LeetCode:20.有效的括号

https://leetcode-cn.com/problems/valid-parentheses/

前端与栈: js中的函数调用堆

最后调用的函数,最先执行完

const fun1 = () => {
  fun2();
};
const fun2 = () => {
  fun3();
};
const fun3 = () => {};
fun1();

函数执行顺序 fun3() -> fun2() -> fun1()

最后修改:2021 年 07 月 28 日 12 : 18 AM