예제 #1
0
        public void TestNodeInTheMiddle()
        {
            ListNode head = Helper.CreateLinkedList(new int[] { 1, 2, 3, 4, 5 });

            Assert.AreEqual(4, KthNodeFromEnd.Process(head, 2).Value);
        }
예제 #2
0
        public void TestListLengthIsInsufficient()
        {
            ListNode head = Helper.CreateLinkedList(new int[] { 1, 2, 3, 4, 5 });

            Assert.IsNull(KthNodeFromEnd.Process(head, 6));
        }
예제 #3
0
        public void TestKIsZero()
        {
            ListNode head = Helper.CreateLinkedList(new int[] { 1, 2, 3, 4, 5 });

            Assert.IsNull(KthNodeFromEnd.Process(head, 0));
        }
예제 #4
0
        public void TestNull()
        {
            ListNode head = null;

            Assert.IsNull(KthNodeFromEnd.Process(head, 1));
        }
예제 #5
0
        public void TestOnlyOneNode()
        {
            ListNode head = new ListNode(1);

            Assert.AreEqual(1, KthNodeFromEnd.Process(head, 1).Value);
        }
예제 #6
0
        public void TestNodeIsHead()
        {
            ListNode head = Helper.CreateLinkedList(new int[] { 1, 2, 3, 4, 5 });

            Assert.AreEqual(1, KthNodeFromEnd.Process(head, 5).Value);
        }