擅长:python、mysql、java
<p>您需要区分作为概念的堆栈和实现它的列表。在这个实现中,堆栈只包含索引小于堆栈大小的列表元素。在</p>
<p>当堆栈大小为0时,堆栈上没有任何内容,因为没有小于0的列表索引。在</p>
<p>在第一次推送之后,堆栈大小为1,因此只有一个列表元素对应于堆栈元素:<code>stack[0]</code>。在</p>
<p>如果您随后<code>pop</code>一个元素,堆栈大小将再次从1减小到0,因此堆栈再次为空。在</p>
<p>列表的大小在任何时候都不会改变,只是被认为代表堆栈元素的列表元素的数量。在</p>
<p>您可能希望实现堆栈元素和列表元素之间始终存在一对一的对应关系:</p>
<pre><code>stack = []
pop = stack.pop
push = stack.append
</code></pre>