leetcode---刷题日记

题目:

给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。

解题思路:

按照最长链表的长度遍历两个链表,当链表的节点为空时则取0否则取节点的值,将两个值进行相加的合除以10,当大于10时,进位保存为1,否则为0,最后将合模上10的值为新链表节点的值。依次进行遍历。最后判断进位大于1则添加值为1的节点到链表,返回新链表。

​​​​​​​代码实现:

复杂度分析:

时间复杂度:O(n)n为两个链表的长度最大值

空间复杂度:O(n)n为新链表长度

猜你喜欢

转载自blog.csdn.net/qq_30193541/article/details/104310481