/**
* Definition for singly-linked list.
* 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; }
* }
*/
class Solution {
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
int[] a = new int[100];
int[] b = new int[100];
int a_idx = 0;
int b_idx = 0;
while(l1!=null){
a[a_idx++] = l1.val;
l1 = l1.next;
}
while(l2!=null){
b[b_idx++] = l2.val;
l2 = l2.next;
}
int[] c = new int[100];
int c_idx = 0;
if(a_idx>b_idx){
c_idx = a_idx;
for(int i=0;i<a_idx;i++){
c[i] = c[i] + a[i] + b[i];
if(c[i]>=10){
c[i] = c[i]%10;
c[i+1] = 1;
}
}
} else{
c_idx = b_idx;
for(int i=0;i<b_idx;i++){
c[i] = c[i] + a[i] + b[i];
if(c[i]>=10){
c[i] = c[i]%10;
c[i+1] = 1;
}
}
}
ListNode l3 = new ListNode();
ListNode head = l3;
int pivot = c_idx;
if (c[c_idx] != 0){
pivot++;
}
for(int i=0;i<pivot;i++){
l3.val = c[i];
if(i< pivot-1){
l3.next = new ListNode();
l3 = l3.next;
}
}
return head;
}
}
2. 两数相加
最新推荐文章于 2024-07-19 22:53:00 发布