226. 翻转二叉树
LeetCode题目要求
给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点
示例
输入:root = [4,2,7,1,3,6,9]
输出:[4,7,2,9,6,3,1]
解题思路
基本思路就是不断交换左右子节点,就可以完成反转操作了。
如下图:
上代码,递归实现
class Solution {
public TreeNode invertTree(TreeNode root) {
if (root == null) {
return root;
}
TreeNode left = root.left;
TreeNode right = root.right;
root.left = right;
root.right = left;
invertTree(left);
invertTree(right);
return root;
}
}
附:学习资料链接
该问题涉及对二叉树进行操作,通过递归交换每个节点的左右子节点来翻转整个树。给定一个根节点为4的二叉树,翻转后变为以4为根的新树,其中原来的左子树变为右子树,原来的右子树变为左子树。解决方案是定义一个方法invertTree,它接收树的根节点作为参数,然后递归地处理左右子树。

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



