zoukankan      html  css  js  c++  java
  • 二叉树-面试题27-二叉树的镜像

    题目

    请完成一个函数,输入一个二叉树,该函数输出它的镜像。
     
    例如输入:
     
         4
       /  
      2     7
     /   /
    1   3 6   9
    镜像输出:
     
         4
       /  
      7     2
     /   /
    9   6 3   1
     
     
     
    示例 1:
     
    输入:root = [4,2,7,1,3,6,9]
    输出:[4,7,2,9,6,3,1]
     
     
    限制:
     
    0 <= 节点个数 <= 1000
     
    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/er-cha-shu-de-jing-xiang-lcof
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
    思路:一看到树的题,首先想到递归,递归首先就是两个方面,一时递归边界条件;二是递归规律
    递归边界条件,当递归进入到叶节点时,左右子节点均为null,继续搜寻下去没意义,直接返回null,所以递归结束条件为搜寻到叶子节点的子节点时结束;
    代码如下:
    /**
     * 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 null;
            }
            TreeNode temp=root.left;  //暂存root的左子节点
            root.left=mirrorTree(root.right);  //进入递归 修改节点
            root.right=mirrorTree(temp);
            return root;
        }
    }
  • 相关阅读:
    真正的e时代
    在线手册
    UVA 10616 Divisible Group Sums
    UVA 10721 Bar Codes
    UVA 10205 Stack 'em Up
    UVA 10247 Complete Tree Labeling
    UVA 10081 Tight Words
    UVA 11125 Arrange Some Marbles
    UVA 10128 Queue
    UVA 10912 Simple Minded Hashing
  • 原文地址:https://www.cnblogs.com/Yunus-ustb/p/12940404.html
Copyright © 2011-2022 走看看