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

002addTwoNumbers

时间:2020-04-05 09:42:43      阅读:56      评论:0      收藏:0      [点我收藏+]

标签:java   服务   执行   func   tno   服务器   题目   block   param   

刚开始的时候没太懂题目意思,就利用LeetCode的return提交进行测试,但是提交后发现结果是数组?
尝试用数组的方法,又报错。。。
后来才想到,LeetCode会不会在后面做些其他操作进行转换呀,测试了后发现确实是这样,
然后又测试发现LeetCode上可以使用console.log进行打印查看打印结果。。。快吐血了有没有

这题教我们使用链表,感觉这题比较妙的地方在与使用了carry,可以将本轮运算结果的进位放至下一轮,

/**
 * Definition for singly-linked list.
 * function ListNode(val) {
 *     this.val = val;
 *     this.next = null;
 * }
 */
/**
 * @param {ListNode} l1
 * @param {ListNode} l2
 * @return {ListNode}
 */
var addTwoNumbers = function(l1, l2) {
    let result = new ListNode(null)
    let re = result,carray = 0,s 
    while(l1||l2||carray)
    {
        const x = l1?l1.val:0
        const y = l2?l2.val:0
        s= x+y+carray
        re.next = new ListNode(s%10)
        carray = ~~(s/10)
        re = re.next
        l1&&(l1 = l1.next)
        l2&&(l2 = l2.next)
    }
    return result.next

};

将变量大都声明在外面是因为感觉这样执行速度会快点?magic,或许当时正赶上LeetCode服务器上运行的少?
不过,为了程序的可读性,不推荐这样做(虽然这里这样做了),工程中,程序的可读性占的比重要比这点性能优化多太多了

002addTwoNumbers

标签:java   服务   执行   func   tno   服务器   题目   block   param   

原文地址:https://www.cnblogs.com/selfdef/p/12635729.html

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