尼采般地抒情

公告栏

此网站主题为本人手写主题,主题还在开发中……


作者:尼采般地抒情

站点信息

文章数目:296
已运行时间:
目录
  1. 思路

尼采般地抒情

尼采般地抒情

公告栏

此网站主题为本人手写主题,主题还在开发中……


作者:尼采般地抒情

站点信息

文章数目:296
已运行时间:

思路

没啥好说的——栈的最基本理解
js 的栈实现是利用 Array 的 push 和 pop……

function calPoints(ops: string[]): number {
  let sta: Array<number> = [];
  ops.forEach((data: string) => {
    switch (data) {
      case "+":
        sta.push(sta[sta.length - 1] + sta[sta.length - 2]);
        break;
      case "D":
        sta.push(sta[sta.length - 1] * 2);
        break;
      case "C":
        sta.pop();
        break;
      default:
        sta.push(Number(data));
    }
  });

  return sta.reduce((result: number, index: number) => {
    return result + index;
  });
}

console.log(calPoints(["5", "-2", "4", "C", "D", "9", "+", "+"]));

评论区

Beaudar Twikoo

最新评论

Loading...