你有两个由单链表表示的数。每个结点代表其中的一位数字。数字的存储是逆序的, 也就是说个位位于链表的表头。写一函数使这两个数相加并返回结果,结果也由链表表示。
例子:(3 -> 1 -> 5), (5 -> 9 -> 2)
输入:8 -> 0 -> 8
解法:链表倒置,相加进位,再倒置。
LinkedList支持方法
import com.google.common.collect.Lists;
import org.junit.Test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedList;
/**
* Created by zhaoxh on 2017/9/25.
*/
public class TestLinkedList {
@Test
public void test(){
LinkedList list1 = Lists.newLinkedList();
list1.add(1);
list1.add(2);
list1.add(3);
list1.add(4);
System.out.println(list1.get(0));
System.out.println(list1.set(0,11));
System.out.println(list1.size());
System.out.println(list1);
System.out.println(Lists.reverse(list1));
}
}
输出:
1
1
4
[11, 2, 3, 4]
[4, 3, 2, 11]