一、题目要求
给你一棵二叉树的根节点 root
,翻转这棵二叉树,并返回其根节点。
二、递归解法
2.1 初步思想
递归的返回条件:该节点为空。
反馈给上层节点前执行的行为:交换左右儿子。
反馈给上层结点的值:当前节点(这样返回到最上层时返回的就是根节点)。
2.2 代码实现
class Solution {
public TreeNode invertTree(TreeNode root) {
if(root == null){return root;}
invertTree(root.left);
invertTree(root.right);
TreeNode temp = root.left;
root.left = root.right;
root.right = temp;
return root;
}
}