婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > python3兩數(shù)相加的實(shí)現(xiàn)示例

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

熱門(mén)標(biāo)簽:在哪里辦理400電話號(hào)碼 平頂山外呼系統(tǒng)免費(fèi) 400電話申請(qǐng)服務(wù)商選什么 工廠智能電話機(jī)器人 千陽(yáng)自動(dòng)外呼系統(tǒng) 原裝電話機(jī)器人 清遠(yuǎn)360地圖標(biāo)注方法 西藏智能外呼系統(tǒng)五星服務(wù) 江蘇客服外呼系統(tǒng)廠家

兩數(shù)相加

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

示例 1:

輸入:l1 = [2,4,3], l2 = [5,6,4]
輸出:[7,0,8]
解釋?zhuān)?42 + 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)建一個(gè)新鏈表,新鏈表的頭部先設(shè)置為l1頭部和l2頭部之和。
2.遍歷兩個(gè)鏈表,只要有一個(gè)還沒(méi)有遍歷完就繼續(xù)遍歷
3.每次遍歷生成一個(gè)當(dāng)前節(jié)點(diǎn)cur的下一個(gè)節(jié)點(diǎn),其值為兩鏈表對(duì)應(yīng)節(jié)點(diǎn)的和再加上當(dāng)前節(jié)點(diǎn)cur產(chǎn)生的進(jìn)位
4.更新進(jìn)位后的當(dāng)前節(jié)點(diǎn)cur的值
5.循環(huán)結(jié)束后,因?yàn)槭孜豢赡墚a(chǎn)生進(jìn)位,因此如果cur.val是兩位數(shù)的話,新增一個(gè)節(jié)點(diǎn)
6.返回頭節(jié)點(diǎn)

由題目注釋可以看出listNode這個(gè)類(lèi)是用來(lái)創(chuàng)建鏈表的,默認(rèn)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

改進(jìn)改進(jìn):增加了空間復(fù)雜度。本以為一方為None后直接把另一個(gè)鏈表連上就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

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

您可能感興趣的文章:
  • python 將numpy維度不同的數(shù)組相加相乘操作
  • python中利用numpy.array()實(shí)現(xiàn)倆個(gè)數(shù)值列表的對(duì)應(yīng)相加方法
  • python打印9宮格、25宮格等奇數(shù)格 滿足橫豎斜相加和相等
  • python 將字符串中的數(shù)字相加求和的實(shí)現(xiàn)
  • 對(duì)python中矩陣相加函數(shù)sum()的使用詳解

標(biāo)簽:天水 股票 日照 隨州 安慶 西安 白城 錦州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python3兩數(shù)相加的實(shí)現(xiàn)示例》,本文關(guān)鍵詞  python3,兩數(shù),相加,的,實(shí)現(xiàn),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python3兩數(shù)相加的實(shí)現(xiàn)示例》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于python3兩數(shù)相加的實(shí)現(xiàn)示例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 项城市| 长沙市| 曲阳县| 乌鲁木齐市| 垫江县| 盘锦市| 巴林右旗| 合川市| 鄂托克前旗| 金川县| 长泰县| 南和县| 抚顺县| 华安县| 聂荣县| 内丘县| 蒙阴县| 大渡口区| 社旗县| 延安市| 公主岭市| 新津县| 钦州市| 辽阳县| 潜山县| 达日县| 定西市| 吴江市| 抚顺县| 仙游县| 宁陵县| 布尔津县| 宜州市| 偃师市| 杭锦后旗| 波密县| 宝丰县| 辛集市| 新丰县| 启东市| 金溪县|