public void TestCycleStartNode() { var list = BuildLinkedList(); var curr = list; var start = list; //Find the last node while (curr.Next != null) { curr = curr.Next; } //Find an arbitary node for (int i = 0; i < 9; i++) { start = start.Next; if (start.Data == 5) { break; } } // Create a cycle curr.Next = start; var node = LinkedListProblems.FindStartNodeOfCircularList(list); Assert.AreEqual(start.Data, node.Data); }
public void TestNoCycle() { var list = BuildLinkedList(); var node = LinkedListProblems.FindStartNodeOfCircularList(list); Assert.AreEqual(null, node); }