参考的这个题解,其中注意python的变量是标签,给tail赋next的时候可能会影响到node
https://leetcode.com/problems/populating-next-right-pointers-in-each-node-ii/discuss/37824/AC-Python-O(1)-space-solution-12-lines-and-easy-to-understand
"""
# Definition for a Node.
class Node:
def __init__(self, val: int = 0, left: 'Node' = None, right: 'Node' = None, next: 'Node' = None):
self.val = val
self.left = left
self.right = right
self.next = next
"""class Solution:
def connect(self, root: 'Node') -> 'Node':
tail = dummy = Node(0)
node = root
while node:
tail.next = node.left
if tail.next:
tail = tail.next
tail.next = node.right
if tail.next:
tail = tail.next
node = node.next
if not node:
tail = dummy
node = dummy.nextreturn root
【LeetCode|117. Populating Next Right Pointers in Each Node II刷题笔记】
文章图片
推荐阅读
- Python脚本|如何用 python 破解加密压缩包?
- python|Python-JSON应用json库
- Python中的Web爬虫和NLP
- 适用于初学者的Python Seaborn教程
- 使用Python的扑克概率和统计
- 使用Python进行时间序列分析的教程
- Scikit-Learn教程(棒球分析(2))
- Scikit-Learn教程(Python与机器学习)
- Scikit-Learn教程(棒球分析(1))