数据结构 JavaScript 版

1. 栈

/**
 * @param {string} s
 * @return {number}
 */
var maxDepth = function(s) {
  const chars = s.split('');

  let nums=[], stack=[];
  for(let i=0, num=0; i<chars.length; i++) {
    if(chars[i] === '(') {
      stack.push('(');
      if(stack.length > num) num++;
    }

    if(chars[i] === ')') {
      stack.pop();
      if(stack.length === 0) {
        nums.push(num);
        num = 0;
      }
    }
  }

  return (nums.length === 0) ? 0 : Math.max(...nums);
};

2. 队列

  • javascrip 的数组,是数据结构里的顺序队列,支持队列操作
  • let a = [],初始化一个空队列
  • a.push(2),进队
  • a.shift(),出队

3. 二叉树

  • Huffman 编码
  • for(let i=0; i<NNUM_MAX; i++) hfmTree[i] = {l: 0, r: 0, p: 0, w: 0};

2017 -  by 王顶. All rights reserved.本站访客人数  人次

results matching ""

    No results matching ""