删掉的正好是第一个
同一个 remove,这次删的是头节点。 删掉「阿岚」之后,输出第一个人的名字。
开始练习 →
删尾巴,再删一个根本不在链上的
同一个 remove,连着删两次:先删最后一个「南风」,再删一个压根不在链上的「北辰」——后者必须原样返回,不能崩也不能删错人。 补全后输出还剩几个人。
开始练习 →
按位置取第 k 个,谁快
要取第 k 个元素,数组和链表相比【0】。
开始练习 →
在最前面插一个,谁快
要在最前面插入一个元素,数组和链表相比【0】。
开始练习 →
链表多花的是什么
同样装 n 个数据,链表比数组多花的是【0】。
开始练习 →
链表取第三个走了几步
运行下面这段程序,它数的是"从头走了几步": class Node: def __init__(self, name): self.name = name self.next =
开始练习 →
数组取第三个走了几步
同样数"走了几步",这次换成数组: a = ["阿岚", "小满", "阿泰", "南风"] steps = 0 # 数组按下标取:位置直接
开始练习 →
写一个 get,顺便数出走了几步
补全 get:返回第 k 个节点走过的步数(第 0 个算 0 步)。 补全后输出取第 3 个走了几步。
开始练习 →
头插之后这条链有多长
链表头插不用挪动任何已有节点。补全 push_front,在最前面插入「北辰」。 补全后输出整条链现在有几个人。
开始练习 →
双向链表的节点多了什么
双向链表的每个节点,比单链表多了【0】。
开始练习 →