给你一棵二叉树的根节点 root
,翻转这棵二叉树,并返回其根节点。
class Solution {
public TreeNode invertTree(TreeNode root) {
if(root == null){
return null;
}
invertTree(root.left);//左递归
invertTree(root.right);//右递归
//交换左右子树的值
TreeNode temp = root.left;
root.left = root.right;
root.right = temp;
return root;
}
}
疑惑,如果左右不对称,怎么交换值?
右图中的运算过程可知,上面的代码完全可以实现题目的要求,如果不能理解,结合代码和上图理解。