1 题目描述
2 解题思路
方法:递归 反转二叉树的意思就是将树的左右子树进行反转,这是一个重复的 过程,所以很简单的就会联想到递归解法。 这个地方的反转其实就是指的交换, 所以就是常规的交换写法➕递归方法
3 解决代码
方法:递归 《Java代码》
class Solution {
public TreeNode
invertTree(TreeNode root
) {
if(root
== null
){
return root
;
}
TreeNode tmp
= root
.right
;
root
.right
= root
.left
;
root
.left
= tmp
;
root
.left
= invertTree(root
.left
);
root
.right
= invertTree(root
.right
);
return root
;
}
}
方法:递归 《python3代码》
class Solution:
def invertTree(self
, root
: TreeNode
) -> TreeNode
:
if not root
:
return root
root
.right
, root
.left
= root
.left
, root
.right
root
.left
= self
.invertTree
(root
.left
)
root
.right
= self
.invertTree
(root
.right
)
return root
转载请注明原文地址:https://ipadbbs.8miu.com/read-21482.html