Пример #1
0
        private static myList addListBasedIntegers(myList l1, myList l2)
        {
            myList l3     = new myList();
            Node   l1Head = l1.head;
            Node   l2Head = l2.head;

            int carry = 0, l1Value = 0, l2Value = 0, l3Value = 0;

            while (l1Head != null || l2Head != null)
            {
                if (l1Head != null)
                {
                    l1Value = l1Head.data;
                }
                else
                {
                    l1Value = 0;
                }
                if (l2Head != null)
                {
                    l2Value = l2Head.data;
                }
                else
                {
                    l2Value = 0;
                }
                l3Value  = l1Value + l2Value + carry;
                carry    = l3Value / 10;
                l3Value %= 10;

                l3.append(l3Value);

                if (l1Head != null)
                {
                    l1Head = l1Head.next;
                }
                if (l2Head != null)
                {
                    l2Head = l2Head.next;
                }
            }
            if (carry > 0)
            {
                l3.append(carry);
            }

            return(l3);
        }
Пример #2
0
        static void Main(string[] args)
        {
            myList l1 = new myList();

            l1.append(3);
            l1.append(1);
            l1.append(4);

            myList l2 = new myList();

            l2.append(7);
            l2.append(0);
            l2.append(9);
            l2.append(1);
            l2.append(1);
            l2.append(1);

            myList l3 = addListBasedIntegers(l1, l2);

            l3.print();
        }