循环单链表
1. 空表:头结点指向自己
带头结点循环单链表没有 NULL 作为空表标志。空表满足 head->next == head。
head->next = head;
2. 遍历:回到头结点时停止
尾结点的 next 指向头结点,所以遍历条件不能写成 current != NULL。
for (LNode *current = head->next;
current != head;
current = current->next) {
visit(current->data);
}