实现:
public class AddTwoNumbers {
public static void main(String[] args) {
}
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
int added = 0;
ListNode header = l1;
ListNode tempListNode = l1;
while (l1 != null || l2 != null){
if (l1 != null && l2 != null){
int temp = l1.val + l2.val + added;
if (temp >= 10){
temp = temp - 10;
added = 1;
}else {
added = 0;
}
l1.val = temp;
l1 = l1.next;
if (l1 != null){
tempListNode = l1;
}
l2 = l2.next;
}else if (l1 != null){
int temp = l1.val + added;
if (temp >= 10){
temp = temp - 10;
added = 1;
}else {
added = 0;
}
l1.val = temp;
l1 = l1.next;
if (l1 != null){
tempListNode = l1;
}
}else{
int temp = l2.val + added;
if (temp >= 10){
temp = temp - 10;
added = 1;
}else {
added = 0;
}
l2.val = temp;
if (tempListNode != null){
tempListNode.next = l2;
tempListNode = tempListNode.next;
}
l2 = l2.next;
}
}
if (added == 1 && tempListNode != null){
tempListNode.next = new ListNode(1);
}
return header;
}
public class ListNode {
int val;
ListNode next;
ListNode() {
}
ListNode(int val) {
this.val = val;
}
ListNode(int val, ListNode next) {
this.val = val;
this.next = next;
}
}
}