题目:
解题思路:
对两个链表从头到尾遍历,将每个位的数字相加并插入到新建链表上。注意处理两个链表不等长。
https://leetcode-cn.com/problems/sum-lists-lcci/solution/javaji-bai-100-bi-kan-by-wonderzlf-v7dm/
代码:
public class LC145 {
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
// 判空输入
if (l1==null) {
return l2;
} else if (l2==null) {
return l1;
}
// 遍历两个输入链表
ListNode head = null;
ListNode first = null;
int tmp = 0;
while (l1!=null ||l2!=null) {
tmp =tmp+(l1!=null?l1.val:0)+(l2!=null?l2.val:0);
if (first==null) {
first = new ListNode(tmp%10);
head = first;
} else {
first.next = new ListNode(tmp%10);
first = first.next;
}
l1=(l1!=null?l1.next:null);
l2=(l2!=null?l2.next:null);
tmp /= 10;
}
// 处理相加的进位
if (tmp!=0) {
first.next = new ListNode(tmp);
}
return head;
}
}
来源:oschina
链接:https://my.oschina.net/janeroad/blog/4954658