002addTwoNumbers

Posted selfdef

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了002addTwoNumbers相关的知识,希望对你有一定的参考价值。

刚开始的时候没太懂题目意思,就利用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的主要内容,如果未能解决你的问题,请参考以下文章

HLS NGINX-RTMP [错误] 1281#0:* 58 hls:强制片段拆分:10.002 秒

addTwoNumber

002_FreeRTOS临界段代码

使用 AWS MediaTailor 替换 VOD 广告

Unicode字符列表的代码显示与描述

002: NetBeans 的 代码补全