Leetcode 2. 两数之加(带图)
Posted 自行车在路上
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode 2. 两数之加(带图)相关的知识,希望对你有一定的参考价值。
写下leetCode,每天两道,带上图,题目来源leetCode
题目-2两数相加(来源:leetCode)
图
代码
public static ListNode addTwoNumbers(ListNode l1, ListNode l2) {
ListNode dummyHead = new ListNode(0);
ListNode cur = dummyHead;
int carry = 0;
while(l1 != null || l2 != null)
{
int sum = carry;
if(l1 != null)
{
sum += l1.val;
l1 = l1.next;
}
if(l2 != null)
{
sum += l2.val;
l2 = l2.next;
}
// 创建新节点
carry = sum / 10;
cur.next = new ListNode(sum % 10);
cur = cur.next;
}
if (carry > 0) {
cur.next = new ListNode(carry);
}
return dummyHead.next;
}
时间复杂度:O(\\max(m,n)),其中 m 和 n 分别为两个链表的长度。我们要遍历两个链表的全部位置,而处理每个位置只需要 O(1) 的时间。
空间复杂度:O(1)。注意返回值不计入空间复杂度。
demo下载路径
参考
出处
https://leetcode-cn.com/problems/add-two-numbers/
参考
https://github.com/MisterBooo/LeetCodeAnimation/tree/master/0002-Add-Two-Numbers
以上是关于Leetcode 2. 两数之加(带图)的主要内容,如果未能解决你的问题,请参考以下文章