Re: [閒聊] 每日leetcode已回收

看板Marginalman作者 (早瀬ユウカの体操服 )時間1年前 (2024/05/07 09:18), 1年前編輯推噓1(100)
留言1則, 1人參與, 1年前最新討論串195/1548 (看更多)
https://leetcode.com/problems/double-a-number-represented-as-a-linked-list/description 2816. Double a Number Represented as a Linked List 給你一個鏈結串列表示的十進位數,把他乘以二並且一樣用鏈結串列表示。 思路: 1.遞迴鏈結串列,如果有進位就返回一個包含進位的node,如果沒進位就返回null。 pycode: --------------------------------------- class Solution: def doubleIt(self, head: Optional[ListNode]) -> Optional[ListNode]: def dfs(root: Optional[ListNode]) -> ListNode: if not root: return None root.val *= 2 carry = dfs(root.next) if carry: root.val += carry.val if root.val > 9: root.val %= 10 return ListNode(1, root) else: return None node = dfs(head) return node if node else head --------------------------------------- -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.138.92.150 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1715044721.A.53E.html ※ 編輯: Rushia (101.138.92.150 臺灣), 05/07/2024 09:25:03

05/07 09:26, 1年前 , 1F
其實可以直接存prev node進位 就不用遞迴了
05/07 09:26, 1F
文章代碼(AID): #1cEO5nK- (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1cEO5nK- (Marginalman)