一、题目
两个数相加,返回一个和的链表。

二、思路
从链表头部相加,并且记录进位,移动链表节点指针。
进位:jin = sum / 10; 值的个位:count = sum % 10;
三、代码
class Solution {
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
ListNode dummy = new ListNode(0);
ListNode cur = dummy;
int jin = 0;
while(l1 != null || l2 != null){
int sum = (l1 != null ? l1.val :0) + (l2 != null ? l2.val : 0) + jin;
int count = sum % 10;
jin = sum / 10;
ListNode newNode = new ListNode(count);
cur.next = newNode;
cur = cur.next;
l1 = l1 != null ? l1.next : null;
l2 = l2 != null ? l2.next : null;
if(jin != 0){
cur.next = new ListNode(jin);
}
}
return dummy.next;
}
}
132

被折叠的 条评论
为什么被折叠?



