给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。
请你将两个数相加,并以相同形式返回一个表示和的链表。
你可以假设除了数字 0 之外,这两个数都不会以 0 开头。
示例 1:
输入:l1 = [2,4,3], l2 = [5,6,4]
输出:[7,0,8]
解释:342 + 465 = 807.
示例 2:
输入:l1 = [0], l2 = [0]
输出:[0]
示例 3:
输入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9]
输出:[8,9,9,9,0,0,0,1]
import java.util.LinkedList;
public class LK3 {
public static LinkedList<Integer> addTwoNumbers(LinkedList<Integer> l1, LinkedList<Integer> l2) {
LinkedList<Integer> l3 = new LinkedList<Integer>();
double a = 0;
double b = 0;
for (int i = 0; i < l1.size(); i++) {
a = a + (double)l1.get(i) * Math.pow(10, (double)(i));
}
for (int i = 0; i < l2.size(); i++) {
b = b + (double)l2.get(i) * Math.pow(10, (double)(i));
}
System.out.println(a);
System.out.println(b);
int num = (int)a + (int)b;
System.out.println(num);
while (num > 0) {
int num1 = num % 10;
num = num / 10;
l3.add(num1);
}
return l3;
}
public static void main(String[] args) {
LinkedList<Integer> l1 = new LinkedList<Integer>();
LinkedList<Integer> l2 = new LinkedList<Integer>();
l1.add(1);
l1.add(2);
l1.add(3);
l2.add(1);
l2.add(2);
l2.add(3);
System.out.println(l1.toString());
System.out.println(addTwoNumbers(l1,l2).toString());
}
}