import java.util.*; /* * public class ListNode { * int val; * ListNode next = null; * public ListNode(int val) { * this.val = val; * } * } */ public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param head1 ListNode类 * @param head2 ListNode类 * @return ListNode类 */ public ListNode addInList (ListNode head1, ListNode head2) { // write code here LinkedList<ListNode> stack1 = new LinkedList<>(); LinkedList<ListNode> stack2 = new LinkedList<>(); ListNode cur = head1; while(cur!=null){ stack1.add(cur); cur = cur.next; } cur = head2; while(cur!=null){ stack2.add(cur); cur = cur.next; } int plus = 0; ListNode head = new ListNode(0); while(!stack1.isEmpty()|| !stack2.isEmpty()){ int i1 = 0; int i2 = 0; if(!stack1.isEmpty()){ i1 = stack1.removeLast().val; } if(!stack2.isEmpty()){ i2 = stack2.removeLast().val; } int value = i1+i2+plus; if(value>9){ plus = value/10; value = value%10; }else{ plus = 0; } ListNode node = new ListNode(value); System.out.println(value); node.next = head.next; head.next = node; } if(plus>0){ head.val = plus; return head; }else{ return head.next; } } }