题27
题目
Q:某线性表用带头结点的循环单链表存储, 头指针为 head, 当 head->next->next == head 成立时, 线性表的长度可能是 ( ).
A. 0
B. 1
C. 2
D. 可能为 0 或 1
分析
A:话说线性表的长度需要带上dummy node,也就是头结点吗
这个东西有头结点
head→next是第一个有效的节点
第一个有效的节点的后继是头
从答案上来看,是不带上这个dummy node的
空的链表,头结点会指向它自己

解
对一个空循环单链表, 有 head->next==head, 推理 head->next->next==head->next = head。对含有一个元素的循环单链表, 头结点 (头指针 head 指示) 的 next 域指向这个唯一的元素结点, 该元素结点的 next 域指向头结点, 因此也有 head->next->next=head。
// 空循环单链表
head->next == head;
// 含有一个元素的循环单链表
head->next->next == head->next == head;