102. Binary Tree Level Order Traversal

def levelOrder(self, root):
        """
        :type root: TreeNode
        :rtype: List[List[int]]
        """
        self.res = []
        self.dfs(root, 0)
        return self.res

    def dfs(self, root, level):
        if not root: return
        if len(self.res) <= level: self.res.append([])
        self.res[level].append(root.val)
        if root.left: self.dfs(root.left, level + 1)
        if root.right: self.dfs(root.right, level + 1)
def levelOrder(self, root):
        """
        :type root: TreeNode
        :rtype: List[List[int]]
        """
        if not root: return []
        res, q = [], [root]
        while q:
            cur, nextLevel = [], []
            for node in q:
                cur.append(node.val)
                if node.left: nextLevel.append(node.left)
                if node.right: nextLevel.append(node.right)
            res.append(cur)
            q = nextLevel
        return res

results matching ""

    No results matching ""