数据结构-栈


栈(后进先出)

入栈出栈操作

const stack = [];
stack.push(1);
stack.push(2);
const item1 = stack.pop();

应用场景

image-20220807154831043

场景1

场景2

场景3

刷题

题目描述

题目描述

解题思路

解题思路

解题步骤

解题步骤

Code

/**
 * @param {string} s
 * @return {boolean}
 */
 var isValid = function(s) {
  if(s % 2 === 1) false;
  const stack = [];
  for (let i = 0; i < s.length; i++){
    const c = s[i];
    if( c === '(' || c === '[' || c === '{'){
      stack.push(c);
    }else{
      const t = stack[stack.length - 1];
      if(
        (t === '(' && c === ')') ||
        (t === '[' && c === ']') ||
        (t === '{' && c === '}')
      ){
        stack.pop();
      }else {
        return false;
      }
    }
  }
  return stack.length === 0;
};

var s = '()[]}'
var res = isValid(s);
console.log(res);

javascript中函数调用用到了栈

// 通过调试即可看到后进先出
const fun1 = ()=>{
  fun2();
};
const fun2 = ()=>{
  fun3();
};
const fun3 = ()=>{};

fun1();

总结

8


文章作者: Zetai Wei
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Zetai Wei !
评论
  目录