stack.pop()返回什么?

时间:2019-05-07 17:34:16

标签: java algorithm data-structures stack

我正在尝试以下问题:

  

给出每日温度列表shell command,返回一个列表,以便   输入中的每一天,告诉您需要等待多少天   直到温度升高。如果没有未来的日子   可以,请改用0。

例如,给定温度列表code,您的输出应为.code

我发现此解决方案非常有效,但我不明白我们如何从code方法获取索引?它不返回元素值吗?

T

我已在代码中添加了注释

1 个答案:

答案 0 :(得分:2)

是的,正如Willem提到的pop从堆栈中删除顶部元素并返回其值。那么,您如何获取索引?您需要注意删除的元素代表什么。在这种情况下,它代表温度数组的索引:

stack.push(i);

请注意,它推动了温度的整数倍[i],因此您实际上是在堆栈中存储索引而不是值。该代码基本上将所有索引推入堆栈,并且当当前温度大于堆栈顶部的一个时,您将其删除并标记该索引的答案,即i - index(当前日期-较旧的日期为较低的温度)。