• add 2 nums


    问题描述:

    给定两个链表,计算出链表对应位置相加的和,如果和大于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

  • 相关阅读:
    移动安全
    Photoshop笔记
    ARMv7 与 ARMv8对比
    centos系统 网络配置
    视频大文件压缩
    开发者必备Linux命令
    开发者必备Docker命令
    文件服务器minio
    Java 图片Base64
    socket
  • 原文地址:https://www.cnblogs.com/xzm123/p/8987303.html
Copyright © 2020-2023  润新知