C#两个链表相加求和

发布时间:2024-12-05 23:06

心肺复苏中的‘C’代表胸外按压,‘A’代表人工呼吸,这两个步骤是循环进行的 #生活技巧# #紧急应对技巧# #心肺复苏#

您将获得两个非空链表,表示两个非负整数。 数字以相反的顺序存储,每个节点包含一个数字。 添加两个数字并将其作为链接列表返回。
您可以假设这两个数字不包含任何前导零,除了数字0本身。

Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
Output: 7 -> 0 -> 8  

解释:342+465=807

----------------------------------------

这是一道笔试题,要求写的是伪代码,为了加深印象,就将其完整代码写了出来

自定义链表参考上一篇文章 --  C#自定义单链表

//测试主方法,想创建两个链表,往里面添加数据(一个数字)

static void Main(string[] args)
        {
            LinkList<int> l1 = new LinkList<int>();
            l1.Add(2);
            l1.Add(4);
            l1.Add(3);
            LinkList<int> l2 = new LinkList<int>();
            l2.Add(5);
            l2.Add(6);
            l2.Add(4);
            AddTwoNumbers(l1, l2);
            Console.ReadKey();
        }

        static void AddTwoNumbers(LinkList<int> l1, LinkList<int> l2) {
            int sum = 0;

//创建两个节点,用来遍历两个链表(节点类和链表类参考上一篇文章)
            Node<int> node1 = l1.head;
            Node<int> node2 = l2.head;
            LinkList<int> l3 = new LinkList<int>();

//每次循环,sum先和l1的数据相加,再和l2中的数据相加,然后将sum存放到l3链表中,因为相加的和可能大于10

//所以每次添加到l3中要做求余运算,两数相加会产生进位,所以sum /= 10;  再进入下一次遍历

//如果l1的数据没有遍历完,或者l2中的数据没有遍历完,或者sum!=0 (此时会产生进位),循环需要继续,l3要添加数据

            while (node1 != null || node2 != null || sum != 0) {
                if (node1 != null) {
                    sum += node1.data;
                    node1 = node1.next;
                }
                if (node2 != null) {
                    sum += node2.data;
                    node2 = node2.next;
                }
                l3.Add(sum%10);
                sum /= 10;
            }
            l3.ShowAll();

//以下两种方法都可以将链表反转,方法体参见上一篇文章
            //l3.ReverseList(l3.head);
            l3.ReverseList();
        }

网址:C#两个链表相加求和 https://www.yuejiaxmz.com/news/view/389004

相关内容

一道数学求值题若a,b,c是两两不相等实数,其中a是b和c的等比中项,b是a和c的等差中项,则(a/b)+(c/a)=?请写出推导过程
给你单链表的头指针 head 和两个整数 left 和 right ,其中 left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表。
50个常见的C#面试问题和答案合集和详解
写出表达式a:=(b+c)*e+(b+c)/f的逆波兰式和三元序列。
C# Lambda表达式详解
求平均数,算术平均法和加权平均法,哪个更合理?例:甲、乙两物均分为A、B、C三个因素,A50分,B30分,合计100分.a、b两人对两物打分.算术平均法:甲物=(aA+bA+aB+bB+aC+Bc)/2加权平均法:甲物=aA
输入一个华氏温度,要求输出摄氏温度。公式为 c=5(F
在Rt△ABC中,∠C=90°,当已知∠A和∠A的对边长为a时,求斜边长c,应选
设intc=5和inta;a=2+(c+=c++,c+8,++c),则a=()
1.\x05某居民用户反映电能表不准,检查人员查明这块电能表准确等级2.0,电能表常数为C =1800 (r/ kWh),当用户点一盏P=60(W)灯泡时,用秒表测得电表转N=6(r)用电时间为t=60(s).试求该表的相

随便看看