zoukankan      html  css  js  c++  java
  • 刷题74——两数相加 II

    113.两数相加 II

    题目链接

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/add-two-numbers-ii

    题目描述

    给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。

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

    进阶:

    如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。

    示例:

    输入:(7 -> 2 -> 4 -> 3) + (5 -> 6 -> 4)
    输出:7 -> 8 -> 0 -> 7

    重难点

    依次将两个链表的值分别放入数组中,对应位置进行相加,满10进位。

    题目分析

    1. 依次将两个链表的值分别放入数组中;
    2. 把放入数组中的数,末尾开始进行相加,使用pop()返回末尾元素;
    3. 对应位置进行相加,满10进位;
    4. 最后再以链表的形式输出。
    /**
     * 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 arr_1 = [];
        let arr_2 = [];
        let arr = [];
    
        let flag = 0;
    
        let m = 0;
        let n = 0;
    
        while(l1){
            arr_1.push(l1.val);
            l1 = l1.next;
        }
        while(l2){
            arr_2.push(l2.val);
            l2 = l2.next;
        }
        while(arr_1.length > 0 || arr_2.length > 0){
            m = Number(arr_1.pop()) || 0;
            n = Number(arr_2.pop()) || 0;
            arr.push((m + n + flag) % 10);
            if(m + n + flag >= 10){
                flag = 1;
            }else{
                flag = 0;
            }
        }
        if(flag === 1){
            arr.push(1);
        }
        let res = {};
        let curr = res;
        while(arr.length > 0){
            curr.next = {
                val : arr.pop(),
                next : null
            };
            curr = curr.next;
        }
        return res.next;
    };
    

      

  • 相关阅读:
    PossibleOrders TopCoder
    505C Mr. Kitayuta, the Treasure Hunter
    p2257 YY的GCD
    浅谈莫比乌斯反演
    Hive基础(3)---Fetch Task(转)
    Hive基础(2)---(启动HiveServer2)Hive严格模式
    mysql 命令行参数
    Hive基础(1)---Hive是什么
    mybatis运行时错误Illegal argument exception argument type mismatch
    【TOMCAT启动异常】The BASEDIR environment variable is not defined correctly
  • 原文地址:https://www.cnblogs.com/liu-xin1995/p/12717241.html
Copyright © 2011-2022 走看看