• LeetCode2.两数相加 JavaScript


    给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。

    你可以假设除了数字 0 之外,这两个数字都不会以零开头。

    示例:

    输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)
    输出:7 -> 0 -> 8
    原因:342 + 465 = 807
    /**
     * 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) {
         //定义一个新链表res,一个temp的链表cur,用来当作res的指针,一个进位标志carry
        let res = new ListNode(-1),
            cur = res,
            carry = 0;
        while(l1 !== null || l2 !== null){
            //取到两个链表当前的数值
            let num1 = l1 == null ? 0 : l1.val;
            let num2 = l2 == null ? 0 : l2.val;
            //求和
            let sum = num1 + num2 + carry;
            //对进位标志的验证
            carry = sum >= 10 ? 1 : 0;
            cur.next = new ListNode(sum % 10);
            cur = cur.next;
            l1 = l1 ? l1.next : l1;
            l2 = l2 ? l2.next : l2;
        }
        if (carry === 1) {
            cur.next = new ListNode(1);
        }
        return res.next; 
    
    };
     
  • 相关阅读:
    oracle plsql 统计
    oracle plsql 自定义异常
    oracle plsql 异常
    oracle 游标
    oracle 存储函数,更新库存
    oracle TRUNC()函数
    plsql 的三种循环
    plsql if
    plsql 记录型变量
    CAS示例环境部署及配置
  • 原文地址:https://www.cnblogs.com/lhh520/p/9919528.html
Copyright © 2020-2023  润新知