[leetcode]445. Add Two Numbers II
阿新 • • 發佈:2018-02-14
null 不能 col 不同 emp 節點 tno dtw pan
不同於上題的地方是,這次鏈表的表示是前高位後低位
這樣的問題就是,要從後邊開始加,但是鏈表不能訪問到前一個節點,所以要用一個數據結構存數據,那肯定是棧嘍
同上一個題一樣,要註意進位,進位不為空也要循環一次
public ListNode addTwoNumbers(ListNode l1, ListNode l2) { if (l1==null&&l2==null) return null; Stack<Integer> s1 = new Stack<>(); Stack<Integer> s2 = newStack<>(); ListNode list = new ListNode(0); while (l1!=null) { s1.push(l1.val); l1 = l1.next; } while (l2!=null) { s2.push(l2.val); l2 = l2.next; } int sum = 0; while (!s1.isEmpty()||!s2.isEmpty()||sum!=0) {if (!s1.isEmpty()) sum+=s1.pop(); if (!s2.isEmpty()) sum+=s2.pop(); list.val = sum%10; ListNode h = new ListNode(0); h.next = list; list = h; sum /=10; } return list.next; }
[leetcode]445. Add Two Numbers II