
这里用到的知识点主要是python中collections库中关于队列的使用。
"""
# 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
"""
import collections
class Solution:
def connect(self, root: 'Optional[Node]') -> 'Optional[Node]':
if root is None:
return root
Q = collections.deque([root])
while Q:
s = len(Q)
for i in range(s):
p = Q.popleft()
if i<s-1:
p.next=Q[0]
if p.left:
Q.append(p.left)
if p.right:
Q.append(p.right)
return root
这篇博客主要介绍了如何利用Python的collections模块中的deque数据结构,来解决树节点的相邻连接问题。通过创建一个双端队列,将根节点放入队列,然后在循环中不断从队列中取出节点并连接相邻节点,同时将未处理的子节点加入队列,直至队列为空。这种方法有效地遍历并连接了树的所有节点。
675

被折叠的 条评论
为什么被折叠?



