117 Populating Next Right Pointers in Each Node II

117 Populating Next Right Pointers in Each Node II

就是 Bibary Tree Level order Traverse

class Solution:
    # @param root, a tree link node
    # @return nothing
    def connect(self, root):
        if root == None:
            return
        q, pre = [root, None], None
        while True:
            node = q.pop(0)
            if node != None:
                if pre != None:
                    pre.next = node
                pre = node
                if node.left != None:
                    q.append(node.left)
                if node.right != None:
                    q.append(node.right)
            else:
                if q == []:
                    break
                else:
                    q.append(None)
                    pre = None

 

posted @ 2015-07-23 01:45  dapanshe  阅读(123)  评论(0编辑  收藏  举报