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

  • 相关阅读:
    app ios info权限配置:
    ionic3 小记录
    mipush ionic3 线上push
    ionic3 生命周期 之 ionViewWillLeave 坑
    iphone X 底部留白 之 ionic3 项目
    微信小程序 修改手机状态栏颜色
    git 命令
    微信小程序 下拉加载
    js 判断浏览器型号
    关于 ionic3 tabs 导航ico 点击 页面返回顶部
  • 原文地址:https://www.cnblogs.com/selfdef/p/12635729.html
Copyright © 2011-2022 走看看