Leetcode226. 翻转二叉树 Invert Binary Tree - Python - 迭代法层序遍历法

class Solution:
    def invertTree(self, root: Optional[TreeNode]) -> Optional[TreeNode]:
        if not root: return None
        queue = deque([root])
        while queue:
            for _ in range(len(queue)):
                cur = queue.popleft()
                # 关键一步
                cur.left, cur.right = cur.right, cur.left
                if cur.left: queue.append(cur.left)
                if cur.right: queue.append(cur.right)
        return root

迭代层序遍历思路:

1.注意这是层序遍历;(也可用前序和后续遍历)

2.除了# 关键一步
                cur.left, cur.right = cur.right, cur.left

其它与迭代层序遍历一样


版权声明:本文为rendalian原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。