JZ27 二叉树的镜像(简单)

描述

操作给定的二叉树,将其变换为源二叉树的镜像。

数据范围:二叉树的节点数0≤n≤1000 , 二叉树每个节点的值 0≤val≤1000

要求: 空间复杂度 O(n)O(n) 。本题也有原地操作,即空间复杂度 O(1) 的解法,时间复杂度 O(n)

比如:

源二叉树

镜像二叉树

示例1

输入:{8,6,10,5,7,9,11}

返回值:{8,10,6,11,9,7,5}

说明:如题面所示

示例2

输入:{}

返回值:{}

 解法:

    import java.util.*;

    /*
     * public class TreeNode {
     *   int val = 0;
     *   TreeNode left = null;
     *   TreeNode right = null;
     *   public TreeNode(int val) {
     *     this.val = val;
     *   }
     * }
     */

    public class Solution {
        /**
         * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
         *
         * 
         * @param pRoot TreeNode类 
         * @return TreeNode类
         */
        public TreeNode Mirror (TreeNode pRoot) {
            // write code here
            TreeNode temp = pRoot.left;
            pRoot.left = pRoot.right;
            pRoot.right = temp;
    //         递归处理左子树
            Mirror(pRoot.left);
    //         递归处理右子树
            Mirror(pRoot.right);
            return pRoot;
        }
    }

おすすめ

転載: blog.csdn.net/weixin_47465999/article/details/121480627