Simple and clear python recursive solution


  • 1
    Q
    # Definition for binary tree with next pointer.
    # class TreeLinkNode:
    #     def __init__(self, x):
    #         self.val = x
    #         self.left = None
    #         self.right = None
    #         self.next = None
    
    class Solution:
        # @param root, a tree link node
        # @return nothing
        def connect(self, root):
            if not root:
                return None
            elif root.left and root.right:
                root.left.next = root.right
                if root.next:# if root.next != None and we know that root.left and root.right != None, we should link root.right.next and root.next.left
                    root.right.next = root.next.left
                self.connect(root.left)
                self.connect(root.right)

Log in to reply
 

Looks like your connection to LeetCode Discuss was lost, please wait while we try to reconnect.