題目大意:兩個列表相加code
思路:構造兩個棧,兩個列表的數依次入棧,再出棧的時候計算其和做爲返回鏈表的一個節點ip
Java實現:leetcode
public ListNode addTwoNumbers(ListNode l1, ListNode l2) { Stack<Integer> s1 = new Stack<>(); Stack<Integer> s2 = new Stack<>(); while (l1 != null) { s1.push(l1.val); l1 = l1.next; } while (l2 != null) { s2.push(l2.val); l2 = l2.next; } ListNode retHead = new ListNode(0); int pre = 0; while (!s1.empty() || !s2.empty() || pre > 0) { int tmp1 = s1.empty() ? 0 : s1.pop(); int tmp2 = s2.empty() ? 0 : s2.pop(); int sum = tmp1 + tmp2 + pre; pre = sum / 10; ListNode next = new ListNode(sum % 10); next.next = retHead.next; retHead.next = next; } return retHead.next; }