1. 程式人生 > >[leetcode]445. Add Two Numbers II

[leetcode]445. Add Two Numbers II

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 = new
Stack<>(); 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