• Leetcode2:Add Two Numbers@Python


    You are given two linked lists representing two non-negative numbers. 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.

    Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
    Output: 7 -> 0 -> 8

     1 #-*-coding:utf-8-*-
     2 
     3 #Definition for singly-linked list.
     4 class ListNode(object):
     5     def __init__(self, x):
     6         self.val = x
     7         self.next = None
     8 
     9 class Solution(object):
    10     def addTwoNumbers(self, l1, l2):
    11         """
    12         :type l1: ListNode
    13         :type l2: ListNode
    14         :rtype: ListNode
    15         """
    16         tens = 0                          # l1.val+l2.val所得和的十位数,初始化0
    17         units = 0                         # l1.val+l2.val所得和的个位数,初始化0
    18         l_origin = ListNode(0)            # 表示一个链表的头结点
    19         l = l_origin
    20         while(l1 or l2 or tens!=0):
    21             val = tens
    22             if l1:
    23                 val = val + l1.val
    24                 l1 = l1.next
    25             if l2:
    26                 val = val + l2.val
    27                 l2 = l2.next
    28             units = val % 10
    29             tens = val / 10
    30             node = ListNode(units)
    31             l.next = node
    32             l = l.next
    33         return l_origin.next              # 返回所求列表

    在Leetcode上提交时直接提交Solution类,结点定义不用提交。

    在做这题时用到带有头结点的链表,比不带头结点的链表使用时方便的多。

  • 相关阅读:
    C#第八节课
    C#第七节课
    C#第六节课
    supervisor进程管理的使用
    oracle分区表
    Zabbix配置邮件监控
    python连接oracle数据库
    json内存级非关系数据库
    Oracle 12c CDB PDB 安装/配置/管理
    Let's Encrypt免费泛域名证书申请
  • 原文地址:https://www.cnblogs.com/mzct123/p/5890640.html
Copyright © 2020-2023  润新知