【问题标题】:Stuck in a JavaScript stack algorithm陷入 JavaScript 堆栈算法
【发布时间】:2023-01-24 13:44:11
【问题描述】:

isEmpty() 算法要求我在堆栈不包含任何值时返回 true,而在堆栈包含一个或多个值时返回 false。它还要求在不修改堆栈的情况下完成此操作

我只能使用3种方法

  • .pop() 弹出堆栈的顶部值

  • .push() 将值压入堆栈

  • .peek() 显示堆栈的最高值而不修改堆栈

我尝试以这种方式执行算法,但它只完成了最后两个要求,即当堆栈包含一个或多个值时返回 false 以及不修改堆栈但当堆栈不包含任何值时它不会返回 true enter image description here

function isEmpty(stack) {
if(stack!==''){
  return false
}else if(stack===''){
  return true
}
}

【问题讨论】:

  • 也许当“堆栈”为空时,它没有值''(即空字符串)——但因为我们看不到什么可能的stack可以,那就难求了

标签: javascript stack


【解决方案1】:
function isEmpty(stack) {
  if (stack.peek() === undefined) {
    return true;
  } else {
    return false;
  }
}

或者

function isEmpty(stack) {
  return stack.peek() === undefined;
}

【讨论】:

  • 或者更简单的return stack.peek() === undefined
猜你喜欢
  • 1970-01-01
  • 2017-01-17
  • 1970-01-01
  • 2015-02-16
  • 2014-07-21
  • 2021-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多