import java.util.*; /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ public class Plus { public ListNode plusAB(ListNode a, ListNode b) { // write code here ListNode ch = null; ListNode ce = null; int jw = 0; while (a != null && b != null) { int sum = (jw + a.val + b.val) % 10; jw = (jw + a.val + b.val) / 10; if (ch == null) { ListNode node = new ListNode(sum); ch = node; ce = ch; } else { ListNode node = new ListNode(sum); ce.next = node; ce = node; } a = a.next; b = b.next; } while (a != null) { int sum = (jw + a.val) % 10; jw = 0; if (ch == null) { ListNode node = new ListNode(sum); ch = node; ce = ch; } else { ListNode node = new ListNode(sum); ce.next = node; ce = node; } a = a.next; } while (b != null) { int sum = (jw + b.val) % 10; jw = 0; if (ch == null) { ListNode node = new ListNode(sum); ch = node; ce = ch; } else { ListNode node = new ListNode(sum); ce.next = node; ce = node; } b = b.next; } if (jw != 0) { ListNode node = new ListNode(jw); ce.next = node; ce = node; } return ch; } }