连着撤两次

同一对 do / undo,这次做完 a、b、c 之后连撤两次。 输出现在的文本。

开始练习 →

撤到没得撤了也不能崩

补全 undo:history 空了就返回 没得撤了,不能报错。 只做了 a、b 两步,却撤三次,输出第三次的结果。

开始练习 →

两个栈做出后退和前进

补全 back 和 forward: back:当前页存进 fwd,从 bak 拿回上一页 forward:当前页存进 bak,从 fwd 拿回下一页 依次访问首页→列表→详情,然后后退两次再前进一次,输出现在在哪一页。

开始练习 →

一个够用的栈库至少要有哪几样

手写一个够用的栈,至少要有【0】。

开始练习 →

为什么压入和弹出都是 O(1)

栈的压入和弹出都是 O(1),因为【0】。

开始练习 →

压完三个之后有几个

运行下面这段程序: class Stack: def __init__(self): self.items = [] def push(self, x): self.items.append(

开始练习 →

第一步:栈本身

最终作品第一步:写出 Stack,要有 push / pop / peek / is_empty / size。 压进三个人、弹掉一个之后,输出现在的栈顶。

开始练习 →

第二步:拿它去查括号

用你自己的 Stack(不许直接用列表的 append / pop)实现括号匹配。 检查 {[()]},输出 True 或 False。

开始练习 →

第三步:拿它去做撤销

还是你自己的 Stack,这次做撤销:依次输入 a、b、c,然后撤销两次。 输出撤销之后的文本。

开始练习 →

第四步:拿它去算后缀表达式

还是你自己的 Stack,算 2 3 4 * +。

开始练习 →