问题描述:

给定两个链表,计算出链表对应位置相加的和,如果和大于10要往后进位。用链表返回结果。其实上是一种大数加法。可以把一个大数倒着写存入链表,然后两个链表相加就是所需要的大数相加的和

输入

2 -> 3 -> 5

3-> 4 -> 6

输出

5->7->1->1

Python实现的代码

Class addtwonums(object):

  Def teonum(self, l1,l2):

    Root=n = ListNode(0)

    Carrey = 0

    While l1 or l2 or carrey:

      If l1:
        num1 = l1.val

        L1 =l1.next

      If l2:

        Num2 = l2.val

        L2 =l2.next

      Carrey, val = divmod(num1+num2+carrey, 10)

      N.next = ListNode(val)

      N = n.next

    Return root.next

思考与总结

1.Python中的divmod(a, b)函数,它会返回两个值,第一个值是a//b的值,第二个值是a%b的值,也就是说前者是a除以b的整数部分,后者是a除以b的余数部分

2.python中构建链表的方法:python中没有想c中直接的链表,你需要多大的空间,不需要自己预先设定,只要在定义好的链表后面加上你想要的ListNode(val)就行

比如:

a = b = ListNode(0) #表示a, b 指向一个值为0的链表节点

B.next = ListNode(5) #表示b的下一个节点指向值为5的链表节点

B = b.next

return a

此时会返回 0 -> 5

add two nums的更多相关文章

  1. 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数 例如给定nums = [2,7,11,15],target = 9

    python解决方案 nums = [1,2,3,4,5,6] #假如这是给定的数组 target = 9 #假如这是给定的目标值 num_list = [] #用来装结果的容器 def run(nu ...

  2. 我们为什么不能只用O记号来谈论算法?

    在刷LeetCode-1TwoSum的时候,有个人在论坛留言,大致意思如下: 我的算法击败了90%的人,O(nlgn)算法比O(n)算法快. 我觉得这个人是不懂算法的.让我一步一步解释. # O的含义 ...

  3. BUG-FREE-For Dream

    一直直到bug-free.不能错任何一点. 思路不清晰:刷两天. 做错了,刷一天. 直到bug-free.高亮,标红. 185,OA(YAMAXUN)--- (1) findFirstDuplicat ...

  4. (lintcode全部题目解答之)九章算法之算法班题目全解(附容易犯的错误)

    --------------------------------------------------------------- 本文使用方法:所有题目,只需要把标题输入lintcode就能找到.主要是 ...

  5. 全部leetcode题目解答(不含带锁)

    (记忆线:当时一刷完是1-205. 二刷88道.下次更新记得标记不能bug-free的原因.)   88-------------Perfect Squares(完美平方数.给一个整数,求出用平方数来 ...

  6. [Leetcode] Contains Duplicate III

    Given an array of integers, find out whether there are two distinct indices i and j in the array suc ...

  7. Java中的可变长参数

    可变长参数的定义 与一般方法没多大差别,只不过形参多了...(三个点) 方法名(数据类型 ... 变量名){} 小案例: public class ParamDemo { public static ...

  8. array题目合集

    414. Third Maximum Number 给一个非空的整数数组,找到这个数组中第三大的值,如果不存在,那么返回最大的值.要求时间复杂度为o(n) 例如: Example 1: Input: ...

  9. 315. Count of Smaller Numbers After Self

    You are given an integer array nums and you have to return a new counts array. The counts array has ...

随机推荐

  1. mysql聚集索引

    转自http://www.cnblogs.com/tuyile006/archive/2009/08/28/1555615.html 微软的SQL SERVER提供了两种索引:聚集索引(cluster ...

  2. 【Qt编程】Qt 小时钟

    Hello World! 学习编程语言的最简单最经典的小程序,当然Qt也不例外.在学习画图时,我觉得写个时钟小程序也是个比较好的开始.在之前的<Matlab及Java小时>一文中,我也从写 ...

  3. 【Android 应用开发】Android中使用ViewPager制作广告栏效果 - 解决ViewPager占满全屏页面适配问题

    . 参考界面 : 携程app首页的广告栏, 使用ViewPager实现        自制页面效果图 : 源码下载地址: http://download.csdn.net/detail/han1202 ...

  4. 三消游戏FSM状态机设计图

    三消游戏FSM状态机设计图 1) 设计FSM图 2) smc配置文件 ///////////////////////////////////////////////////////////////// ...

  5. 测试access函数

    测试程序: 测试结果: chown root access.out 将用户ID改为root chmod u+s access.out 打开 set-user-ID位

  6. Android Studio 使用SlidingMenu侧滑菜单

    SlidingMenu是十分常用的开源框架,提供了一个滑动侧边栏的功能. 看了许多教程,都是往eclipse导入SlidingMenu库的,随后百度了几篇Android Studio导入的教程,鼓捣了 ...

  7. Android控件属性android:visibility的invisible与gone的区别

    "invisible" : 不可见 "gone"      : 隐   藏 主要区别在于控件设置了invisible后控件不可见,但是保留了控件在界面上的空间, ...

  8. Python和shell中Base64编码使用那些事

    做开发第一个接触的编码方式就是Base64,当时是用url来传输一些参数,传输的两端会用Base64来编码和解码,保证数据不被url转义破坏. 下面是 维基百科 Base64 中的介绍,其实自己实现起 ...

  9. Google主推-Android开发利器——Android Studio,这可能是最全的AS教程!

    Android Studio使用手册 "工欲善其事必先利其器" 作为一个Android开发人员来说,一款好的开发工具也是相当重要的,在相当长的时间礼,Google都是基于Eclip ...

  10. BT雷人的程序语言

    原文:http://cocre.com/?p=1142  酷壳 这个世界从来都不会缺少另类的东西,人类自然世界如此,计算机世界也一样.编程语言方面,看过本站<6个变态的C语言Hello Worl ...