我不敢相信我们还没有这个。.它是编程中最重要的数据结构之一,但仍然足够简单,可以在代码高尔夫球中实现:
挑战
您的任务是实现允许压入和弹出数字的堆栈,以测试实现并保持I / O简单,我们将使用以下设置:
- 输入将是非负整数列表
每个正整数表示一个,每个表示一个 -丢弃顶部元素。push( n ) 0 pop()
- 输出将是结果堆栈
例
例如,如果我们得到:
输出将是:
规则
- 输入将是任何默认I / O格式的非负整数列表
- 您可以使用负整数来表示整数流的结尾
- 输出将是结果堆栈的列表/矩阵/ ..
- 您可以选择顶部元素的位置(在开头还是结尾),输出必须保持一致
- 输出是灵活的(例如,用换行符分隔的整数就可以了),唯一重要的是顺序
- 您可以使用负整数来表示堆栈的底部
- 您可以保证堆栈为空时永远不会为
例子
[] -> []
[1] -> [1]
[1,0,2] -> [2]
[4,0,1,12] -> [12,1]
[8,3,1,2,3] -> [3,2,1,3,8]
[1,3,7,0,0,0] -> []
[13,0,13,10,1,0,1005,5,0,0,0] -> [13]
[12,3,0,101,11,1,0,0,14,0,28] -> [28,101,12]