欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python3兩數(shù)相加的實現(xiàn)示例

 更新時間:2021年04月01日 08:43:18   作者:南岸青梔*  
這篇文章主要介紹了python3兩數(shù)相加的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

兩數(shù)相加

給你兩個 非空 的鏈表,表示兩個非負的整數(shù)。它們每位數(shù)字都是按照 逆序 的方式存儲的,并且每個節(jié)點只能存儲 一位 數(shù)字。
請你將兩個數(shù)相加,并以相同形式返回一個表示和的鏈表。
你可以假設除了數(shù)字 0 之外,這兩個數(shù)都不會以 0 開頭。

在這里插入圖片描述

示例 1:

輸入:l1 = [2,4,3], l2 = [5,6,4]
輸出:[7,0,8]
解釋:342 + 465 = 807.

示例 2:

輸入:l1 = [0], l2 = [0]
輸出:[0]

示例 3:

輸入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9]
輸出:[8,9,9,9,0,0,0,1]

思路:

1.創(chuàng)建一個新鏈表,新鏈表的頭部先設置為l1頭部和l2頭部之和。
2.遍歷兩個鏈表,只要有一個還沒有遍歷完就繼續(xù)遍歷
3.每次遍歷生成一個當前節(jié)點cur的下一個節(jié)點,其值為兩鏈表對應節(jié)點的和再加上當前節(jié)點cur產(chǎn)生的進位
4.更新進位后的當前節(jié)點cur的值
5.循環(huán)結束后,因為首位可能產(chǎn)生進位,因此如果cur.val是兩位數(shù)的話,新增一個節(jié)點
6.返回頭節(jié)點

由題目注釋可以看出listNode這個類是用來創(chuàng)建鏈表的,默認next=None,val=0.
Definition for singly-linked list.
class ListNode:
def init(self, val=0, next=None):
self.val = val
self.next = next

# Definition for singly-linked list.
# class ListNode:
#  def __init__(self, val=0, next=None):
#   self.val = val
#   self.next = next
class Solution:
 def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:
  head = ListNode(l1.val+l2.val)
  current = head
  while l1.next or l2.next:
   l1 = l1.next if l1.next else ListNode()
   l2 = l2.next if l2.next!=None else ListNode()
   current.next = ListNode(l1.val+l2.val+current.val//10)
   current.val = current.val%10
   current = current.next
  if current.val >= 10:
   current.next = ListNode(current.val//10)
   current.val = current.val%10
  return head

改進改進:增加了空間復雜度。本以為一方為None后直接把另一個鏈表連上就ok了。然后,就打臉了。

在這里插入圖片描述

然后又加了while

> [9999]

# Definition for singly-linked list.
# class ListNode:
#  def __init__(self, val=0, next=None):
#   self.val = val
#   self.next = next
class Solution:
 def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:
  head = ListNode(l1.val+l2.val)
  current = head
  while l1.next and l2.next:
   l1 = l1.next 
   l2 = l2.next 
   current.next = ListNode(l1.val+l2.val+current.val//10)
   current.val = current.val%10
   current = current.next
  if l1.next == None and l2.next :
   while l2.next:
    l2 = l2.next
    current.next= ListNode(l2.val+current.val//10)
    current.val = current.val%10
    current = current.next
    current.next = l2.next
  elif l2.next == None and l1.next:
   while l1.next:
    l1 = l1.next
    current.next= ListNode(l1.val+current.val//10)
    current.val = current.val%10
    current = current.next
    current.next = l2.next
  if current.val >= 10:
   current.next = ListNode(current.val//10)
   current.val = current.val%10
  return head

在這里插入圖片描述

到此這篇關于python3兩數(shù)相加的實現(xiàn)示例的文章就介紹到這了,更多相關python3兩數(shù)相加內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Django contenttypes 框架詳解(小結)

    Django contenttypes 框架詳解(小結)

    這篇文章主要介紹了Django contenttypes 框架詳解(小結),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • python引入其他文件夾下的py文件具體方法

    python引入其他文件夾下的py文件具體方法

    在本篇文章里小編給大家整理的是一篇關于python引入其他文件夾下的py文件具體方法,有興趣朋友們可以跟著學習參考下。
    2021-05-05
  • python將文本中的空格替換為換行的方法

    python將文本中的空格替換為換行的方法

    這篇文章主要介紹了python將文本中的空格替換為換行的方法,需要的朋友可以參考下
    2018-03-03
  • 利用Python判斷文件的幾種方法及其優(yōu)劣對比

    利用Python判斷文件的幾種方法及其優(yōu)劣對比

    任何的編程語言都離不開文件操作,文件操作主要是幫助我們更好的創(chuàng)建打開文件,讀取文件中的內(nèi)容、或是把我們想要保存的內(nèi)容寫入文件中、或是管理文件目錄等等,下面這篇文章主要給大家介紹了關于利用Python判斷文件的幾種方法及其優(yōu)劣對比的相關資料,需要的朋友可以參考下
    2022-06-06
  • 探索Python內(nèi)置數(shù)據(jù)類型的精髓與應用

    探索Python內(nèi)置數(shù)據(jù)類型的精髓與應用

    本文探索Python內(nèi)置數(shù)據(jù)類型的精髓與應用,包括字符串、列表、元組、字典和集合。通過深入了解它們的特性、操作和常見用法,讀者將能夠更好地利用這些數(shù)據(jù)類型解決實際問題。
    2023-09-09
  • 使用Python的matplotlib庫繪制柱狀圖

    使用Python的matplotlib庫繪制柱狀圖

    這篇文章主要介紹了使用Python的matplotlib庫繪制柱狀圖,Matplotlib是Python中最常用的可視化工具之一,可以非常方便地創(chuàng)建海量類型地2D圖表和一些基本的3D圖表,可根據(jù)數(shù)據(jù)集自行定義x,y軸,繪制圖形,需要的朋友可以參考下
    2023-07-07
  • 總結python多進程multiprocessing的相關知識

    總結python多進程multiprocessing的相關知識

    今天給大家?guī)淼氖顷P于Python的相關知識,文章圍繞著python multiprocessing多進程的相關知識展開,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Pandas通過index選擇并獲取行和列

    Pandas通過index選擇并獲取行和列

    本文主要介紹了Pandas通過index選擇并獲取行和列,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • Python編程密碼學文件加密與解密代碼解析

    Python編程密碼學文件加密與解密代碼解析

    這篇文章主要為大家介紹了Python編程密碼學文件加密與解密,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • Python多進程使用及進程池詳解

    Python多進程使用及進程池詳解

    這篇文章主要為大家介紹了Python多進程使用及進程池詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06

最新評論