打卡LeetCode第二天——兩數相加
阿新 • • 發佈:2018-12-13
題目:給定兩個非空連結串列來表示兩個非負整數。位數按照逆序方式儲存,它們的每個節點只儲存單個數字。將兩數相加返回一個新的連結串列。
你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。
示例:
輸入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 輸出:7 -> 0 -> 8 原因:342 + 465 = 807
【python程式碼】
# Definition for singly-linked list. # class ListNode(object): # def __init__(self, x): # self.val = x # self.next = None class Solution(object): def addTwoNumbers(self, l1, l2): """ :type l1: ListNode :type l2: ListNode :rtype: ListNode """ count=10 sum=l1.val+l2.val while(l1.next or l2.next): if (l1.next) : if (l2.next) : sum+=(l1.next.val+l2.next.val)*count l1.next=l1.next.next l2.next=l2.next.next else: sum+=l1.next.val*count l1.next=l1.next.next else: sum+=l2.next.val*count l2.next=l2.next.next count*=10 s=len(str(sum)) s1=str(sum) l3=[] for i in s1: l3.append(int(s1[s-1])) s-=1 return l3