Beispiel #1
0
        public void TestCase4()
        {
            var cycle = new DetectCycleNode();
            var head  = new ListNode(1);

            head.Next = head;

            Assert.AreEqual(1, cycle.DetectCycle(head).Val);
        }
Beispiel #2
0
        public void TestCase3()
        {
            var cycle = new DetectCycleNode();
            var head  = new ListNode(1);

            Push(head, 2);
            Push(head, 3);
            var n4 = Push(head, 4);
            var n5 = Push(head, 5);

            Push(head, 6);
            Push(head, 7);
            Push(head, 8);
            var n9 = Push(head, 9);

            Assert.AreEqual(null, cycle.DetectCycle(head));
        }
Beispiel #3
0
        public void TestCase2()
        {
            var cycle = new DetectCycleNode();
            var head  = new ListNode(1);

            Push(head, 2);
            Push(head, 3);
            var n4 = Push(head, 4);
            var n5 = Push(head, 5);

            Push(head, 6);
            Push(head, 7);
            Push(head, 8);
            var n9 = Push(head, 9);

            n9.Next = n4;
            Assert.AreEqual(4, cycle.DetectCycle(head).Val);
        }
Beispiel #4
0
        public void TestCase1()
        {
            var cycle = new DetectCycleNode();
            var head  = new ListNode(1);

            Push(head, 2);
            Push(head, 3);
            var n4 = Push(head, 4);
            var n5 = Push(head, 5);

            Push(head, 6);
            Push(head, 7);
            Push(head, 8);
            var n9 = Push(head, 9);

            Push(head, 10);
            Push(head, 11);
            var n12 = Push(head, 12);

            n12.Next = n5;
            Assert.AreEqual(5, cycle.DetectCycle(head).Val);
        }