python实现二叉树层次遍历(广度优先遍历)

一. Python 实现二叉树层次遍历

1. leetcode题目链接

102. 二叉树的层序遍历

2. 实现

主要使用deque队列实现:

class Solution:
    """二叉树层序遍历迭代解法"""

    def levelOrder(self, root: TreeNode) -> List[List[int]]:
        results = []
        if not root:
            return results

        from collections import deque
        que = deque([root])

        while que:
            size = len(que)
            result = []
            for _ in range(size):
                cur = que.popleft()
                result.append(cur.val)
                if cur.left:
                    que.append(cur.left)
                if cur.right:
                    que.append(cur.right)
            results.append(result)

        return results

猜你喜欢

转载自blog.csdn.net/flyingluohaipeng/article/details/129764293
今日推荐