美文网首页
LeetCode in JavaScript#2 Add Two

LeetCode in JavaScript#2 Add Two

作者: 荼蓼子 | 来源:发表于2016-08-04 23:33 被阅读217次

Leetcode Add Two Numbers

Solution

这个问题主要要注意两点,两数长度不等的情况和相加进位的情况

var addTwoNumbers = function(l1, l2) {
    var n1 = l1,n2 = l2,node;
    var v1 = 0,v2 = 0,v3 = 0,sum = 0;
    var head = new ListNode(0);
    var tail = head;
    while (n1 || n2) {
        v1 = n1 ? n1.val : 0;
        v2 = n2 ? n2.val : 0;
        sum = v1 + v2 + v3;
        node = new ListNode(sum%10);
        v3 = sum >= 10 ? 1 : 0;
        tail.next = node;
        tail = tail.next;
        if (n1) n1 = n1.next;
        if (n2) n2 = n2.next;
    }
    if (v3) tail.next = new ListNode(v3);
    return head.next;
};

时间复杂度 O(max(m,n)) m,n代表l1,l2的长度
空间复杂度 O(max(m,n))

相关文章

网友评论

      本文标题:LeetCode in JavaScript#2 Add Two

      本文链接:https://www.haomeiwen.com/subject/cokhsttx.html