import java.util.*; /* * public class ListNode { * int val; * ListNode next = null; * } */ public class Solution { /** * * @param head1 ListNode类 * @param head2 ListNode类 * @return ListNode类 */ public ListNode addInList (ListNode head1, ListNode head2) { if(head1==null){ return head2; } if(head2==null){ return head1; } int temp = 0; ListNode curNode1 = reverseListNode(head1); ListNode curNode2 = reverseListNode(head2); ListNode head = new ListNode(-1); ListNode tempNode = head; while(curNode1!=null || curNode2!=null || temp!=0){ if(curNode1!=null){ temp += curNode1.val; curNode1 = curNode1.next; } if(curNode2!=null){ temp += curNode2.val; curNode2 = curNode2.next; } ListNode node = new ListNode(temp%10); temp = temp/10; head.next = node; head = node; } return reverseListNode(tempNode.next); } public ListNode reverseListNode(ListNode head){ ListNode curNode = head.next; ListNode preNode = head; ListNode tempNode = null; while(curNode!=null){ tempNode = curNode.next; curNode.next = preNode; preNode = curNode; curNode = tempNode; } head.next = null; return preNode; } }