码迷,mamicode.com
首页 > 其他好文 > 详细

[leetcode]445. Add Two Numbers II

时间:2018-02-13 22:52:50      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:null   node   new   注意   +=   tno   数据结构   body   color   

不同于上题的地方是,这次链表的表示是前高位后低位

这样的问题就是,要从后边开始加,但是链表不能访问到前一个节点,所以要用一个数据结构存数据,那肯定是栈喽

同上一个题一样,要注意进位,进位不为空也要循环一次

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

标签:null   node   new   注意   +=   tno   数据结构   body   color   

原文地址:https://www.cnblogs.com/stAr-1/p/8447494.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!