深度递归
def connect(self, root):
"""
:type root: Node
:rtype: Node
"""
def dfs(root):
if not root:
return
left = root.left
right = root.right
while left:
left.next = right
left = left.right
right = right.left
dfs(root.left)
dfs(root.right)
dfs(root)
return root
傻递归
def connect(self, root):
"""
:type root: Node
:rtype: Node
"""
if not root:
return
def dfs(left,right):
if not left or not right:
return
left.next = right
dfs(left.left,left.right)
dfs(left.right,right.left)
dfs(right.left,right.right)
dfs(root.left,root.right)
return root