zoukankan      html  css  js  c++  java
  • 2. Add Two Numbers(Leetcode)

    题目:

    You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.

    You may assume the two numbers do not contain any leading zero, except the number 0 itself.

    Example:

    Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
    Output: 7 -> 0 -> 8
    Explanation: 342 + 465 = 807.

    方法一:数学加减法
    1、结果存储:建立一个结果节点和一个结果节点的引用,一个用来存结果,一个方便放回结果。以后返回值是链表都设置两个链表存储
    2、时间复杂度:O(max(m,n)) 空间复杂度:O(max(m,n))+1。+1是因为相加后可能有进位
    3、循环递归的区别:
      循环:重复执行同一个代码。
        可能不能解决所有问题。
      递归:自己调用自己。就像一个小孩上楼取东西。台阶的结构是一样的,小孩一层一层爬楼梯直到取到东西再跑下来。
        优点:代码更简洁清晰,可读性更好。
        缺点:由于递归需要系统堆栈,所以空间消耗要比非递归代码要大很多。而且,如果递归深度太大,可能系统撑不住。
    4、当做条件判断和条件循环的时候,一定要考虑出判断和循环后是否还有什么情况是需要计算的

    运行时间:31 ms

    
    
    苟有恒,何必三更眠五更起;最无益,莫过一日暴十日寒。
  • 相关阅读:
    php遍历目录下的所有文件夹
    PHP 遍历文件
    PHP中public protected private的区别
    mysql数据库优化的方法
    Thinkphp 验证器
    PHP 接口
    php获取表单的值
    PHP 数组
    php 递归
    [go系列] 函数
  • 原文地址:https://www.cnblogs.com/shaer/p/10399671.html
Copyright © 2011-2022 走看看