Exemple #1
0
        public void AddTwoListNodesTest()
        {
            ListNode firstNumber = new ListNode(7);

            firstNumber.Next      = new ListNode(4);
            firstNumber.Next.Next = new ListNode(4);

            ListNode secondNumber = new ListNode(5);

            secondNumber.Next      = new ListNode(3);
            secondNumber.Next.Next = new ListNode(6);

            ListNode answerOne = ListNode.AddTwoNumbers(firstNumber, secondNumber);

            Assert.IsTrue(answerOne.Val == 2);
            Assert.IsTrue(answerOne.Next.Val == 8);
            Assert.IsTrue(answerOne.Next.Next.Val == 0);
            Assert.IsTrue(answerOne.Next.Next.Next.Val == 1);
            Assert.IsTrue(answerOne.Next.Next.Next.Next == null);

            ListNode thirdNumber = new ListNode(1);

            thirdNumber.Next                = new ListNode(2);
            thirdNumber.Next.Next           = new ListNode(3);
            thirdNumber.Next.Next.Next      = new ListNode(4);
            thirdNumber.Next.Next.Next.Next = new ListNode(5);

            ListNode fourthNumber = new ListNode(6);

            fourthNumber.Next           = new ListNode(7);
            fourthNumber.Next.Next      = new ListNode(8);
            fourthNumber.Next.Next.Next = new ListNode(9);

            ListNode answerTwo = ListNode.AddTwoNumbers(thirdNumber, fourthNumber);

            Assert.IsTrue(answerTwo.Val == 7);
            Assert.IsTrue(answerTwo.Next.Val == 9);
            Assert.IsTrue(answerTwo.Next.Next.Val == 1);
            Assert.IsTrue(answerTwo.Next.Next.Next.Val == 4);
            Assert.IsTrue(answerTwo.Next.Next.Next.Next.Val == 6);
        }