一、题目描述
给你一棵二叉树的根节点 root
,翻转这棵二叉树,并返回其根节点。
二、解题思路
二叉树题型最重要的思路就是递归:该题就从根节点开始,递归的遍历整棵树,遍历到一个节点,就交换该节点的左右子树,然后再递归遍历该节点的左右子树,并交换遍历到的节点的左右孩子。
三、代码实现
class Solution {
public TreeNode invertTree(TreeNode root) {
if(root==null){
return null;
}
//交换该节点的左右子树
TreeNode temp=root.left;
root.left=root.right;
root.right=temp;
//遍历左子树
invertTree(root.left);
//遍历右子树
invertTree(root.right);
return root;
}
}