递归时要从宏观角度出发:要将root所表示的二叉树进行翻转,只需要将它的左右子树进行翻转以及再将root的左右孩子进行翻转即可
【tips】这题根T101对称二叉树的思路还不太一样!!!!
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public TreeNode invertTree(TreeNode root) {
//终止条件
if(root==null||root.left==null&&root.right==null) return root;
//将root的左子树进行翻转
root.left = invertTree(root.left);
//将root的右子树进行翻转
root.right = invertTree(root.right);
//将root的做右孩子进行翻转
TreeNode temp = root.left;
root.left = root.right;
root.right = temp;
return root;
}
}