「Leetcode-Python」python中利用链表计算两个非负整数之和(链表类型非列表)
生活随笔
收集整理的這篇文章主要介紹了
「Leetcode-Python」python中利用链表计算两个非负整数之和(链表类型非列表)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
LeetCode里的一個題,沒注意到輸入類型是列表格式,所以用類結點形式的鏈表寫出來了,做個記錄
class ListNode:def __init__(self, x):self.val = xself.next = Noneclass Solution:def appendResult(self, result, pre):p = ListNode(None)if result.val == None:result.val = pre.valelse:p = resultwhile p.next!=None:p = p.nextp.next = pre #17return resultdef addTwoNumbers(self, l1, l2):result = ListNode(None); count1 = 0; count2 = 0; Cout = 0#確定哪條鏈長pl1 = l1; pl2 = l2while pl1 != None:pl1 = pl1.nextcount1 += 1while pl2 != None:pl2 = pl2.nextcount2 += 1if count1 >= count2:lon = l1; short = l2else:lon = l2; short = l1# 開始相加while lon!=None or short!=None:pr = ListNode(None) if short != None:pr.val = (Cout + lon.val + short.val)%10Cout = int((Cout + lon.val + short.val)/10)self.appendResult(result, pr)short = short.nextlon = lon.nextelif short == None and lon != None:pr.val = (Cout + lon.val)%10Cout = int((Cout + lon.val)/10)self.appendResult(result, pr)lon = lon.nextif Cout ==1:self.appendResult(result, ListNode(Cout))return result總結
以上是生活随笔為你收集整理的「Leetcode-Python」python中利用链表计算两个非负整数之和(链表类型非列表)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 芝麻分550怎么贷款
- 下一篇: 「Python」Terminal / c