Binary Tree Level Order Traversal

Problem: Binary Tree Level Order Traversal

Breadth-first search is a perfect solution for level order traversal. Different from other breadth-first search problems, we need depth or level information in this one. So we use two lists to maintain current level and next level and replace current one with next after dealing with current one.

Code in Python:

class Solution(object):
    def levelOrder(self, root):
        """
        :type root: TreeNode
        :rtype: List[List[int]]
        """
        level, ans = [], []
        if root: level.append(root)
        while level:
            nextLevel, currentLevel = [], []
            for node in level:
                currentLevel.append(node.val)
                if node.left: nextLevel.append(node.left)
                if node.right: nextLevel.append(node.right)
            ans.append(currentLevel)
            level = nextLevel
        return ans

results matching ""

    No results matching ""