剑指 Offer 27. 二叉树的镜像


剑指 Offer 27. 二叉树的镜像

解题思路

很简单,就是递归调用mirrorTree()得到输入的那个节点,比如你输入的是mirrorTree(root.right)那么返回的节点其实就是root.right,然后你再用一个变量保存起来,再把左右节点进行交换就可以了;

代码

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    public TreeNode mirrorTree(TreeNode root) {
        if(root==null){
            return root;
        }
        //递归该方法其实就是,返回输入的那个节点
        TreeNode leftRoot = mirrorTree(root.right);
        TreeNode rightRoot = mirrorTree(root.left);

        root.left = leftRoot;
        root.right = rightRoot;

        return root;
    }
}

文章作者: fFee-ops
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 fFee-ops !
评论
  目录