• 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服务器上运行的少?
    不过,为了程序的可读性,不推荐这样做(虽然这里这样做了),工程中,程序的可读性占的比重要比这点性能优化多太多了

  • 相关阅读:
    我理解的Node.js
    How to handle the issue of node.js msi to roll back under windows 8
    转:.Net 中AxShockwaveFlash的解析
    鱼哥的C++学习笔记(一)编译方法
    TabControl样式编写
    Cocos2d on VS12 step by step
    C# 控制Windows系统音量
    系统环境换成Win8+Vs2012碰到的问题记录
    Http学习笔记(一)
    WPF ListBox Template解析
  • 原文地址:https://www.cnblogs.com/selfdef/p/12635729.html
Copyright © 2020-2023  润新知