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

LeetCode - 2 - Add Two Numbers

时间:2017-06-10 19:27:45      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:new   时间   max   res   bind   .com   else   bsp   result   

题目

URL:https://leetcode.com/problems/add-two-numbers/

 

技术分享

 

解法

没什么特殊的解法,按位相加即可。

注意点:

1、l1 和 l2 不一样长。

2、最终的进位。

单层循环,时间复杂度O(max(l1.length,  l2.length)),运行时间约为 50 ms。

    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
        ListNode l3 = new ListNode(-1);
        ListNode tl3 = l3;
        int plus = 0;
        while (l1 != null || l2 != null || plus == 1) {
            int value = (l1 != null ? l1.val : 0) + (l2 != null ? l2.val : 0) + plus;
            if (value >= 10) {
                plus = 1;
                value -= 10;
            } else {
                plus = 0;
            }
            ListNode next = new ListNode(value);
            tl3.next = next;
            tl3 = tl3.next;
            if (l1 != null) l1 = l1.next;
            if (l2 != null) l2 = l2.next;
        }
        return l3.next;
    }

 

总结

胆大心细。无论是美女还是题目,你都可以得手。

 

LeetCode - 2 - Add Two Numbers

标签:new   时间   max   res   bind   .com   else   bsp   result   

原文地址:http://www.cnblogs.com/Piers/p/6979391.html

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