题目
代码
执行用时:40 ms, 在所有 Python3 提交中击败了24.41% 的用户
内存消耗:14.8 MB, 在所有 Python3 提交中击败了96.12% 的用户
通过测试用例:68 / 68
class Solution:
def mirrorTree(self, root: TreeNode) -> TreeNode:
if not root:return None
queue=[root]
while queue:
node=queue.pop(0)
if node.left:
queue.append(node.left)
if node.right:
queue.append(node.right)
node.left,node.right=node.right,node.left
return root
【方法2】
执行用时:36 ms, 在所有 Python3 提交中击败了53.40% 的用户
内存消耗:14.8 MB, 在所有 Python3 提交中击败了94.87% 的用户
通过测试用例:68 / 68
class Solution:
def visit(self,root):
if not root:
return None
left=self.visit(root.right)
right=self.visit(root.left)
root.left=left
root.right=right
return root
def mirrorTree(self, root: TreeNode) -> TreeNode:
self.visit(root)
return root
【方法3】
执行用时:32 ms, 在所有 Python3 提交中击败了77.70% 的用户
内存消耗:15 MB, 在所有 Python3 提交中击败了26.27% 的用户
通过测试用例:68 / 68
class Solution:
def mirrorTree(self, root: TreeNode) -> TreeNode:
if not root:
return None
left=self.mirrorTree(root.right)
right=self.mirrorTree(root.left)
root.left=left
root.right=right
return root

这篇博客介绍了三种不同的Python方法来翻转二叉树,使其变为镜像结构。方法包括使用广度优先搜索(BFS)、递归访问节点以及迭代访问节点。这些方法都在内存和执行时间上有所不同,但都能有效地完成二叉树的翻转,并通过了所有测试用例。
441

被折叠的 条评论
为什么被折叠?



