我正在尝试检查链表的最后一个节点是否指向头部。这段代码似乎对问题给出了肯定的结果,但也对包含指向非头节点的节点的列表给出了误报。
我一直在尝试不同的事情,例如检查慢速节点是否等于返回真实点的头部,但这似乎不起作用。
public boolean isLinkedToStart(Node head) {
if (head == null) {
return false;
}
Node fast = head.next;
Node slow = head;
while (fast != null && fast.next != null) {
if (fast.next.next == slow) {
return true;
}
fast = fast.next.next;
slow = slow.next;
}
return false;
}
有什么建议么?