美文网首页
面试题27. 二叉树的镜像

面试题27. 二叉树的镜像

作者: 阿星啊阿星 | 来源:发表于2020-02-13 21:49 被阅读0次

    面试题27. 二叉树的镜像

    题目描述

    请完成一个函数,输入一个二叉树,该函数输出它的镜像。

    例如输入:


    镜像输出:



    示例:

    输入:root = [4,2,7,1,3,6,9]
    输出:[4,7,2,9,6,3,1]


    提示:
    0 <= 节点个数 <= 1000

    转载来源:力扣(LeetCode


    题目分析

    这题是给出了二叉树的根节点,要翻转二叉树,其实很简单,只要将每个节点的左右孩子交换就好,然后再交换孩子的左右孩子,直到孩子的孩子的...为空,差不多就是递归遍历了一遍二叉树,代码直接贴在下面:

    /**
     * Example:
     * var ti = TreeNode(5)
     * var v = ti.`val`
     * Definition for a binary tree node.
     * class TreeNode(var `val`: Int) {
     *     var left: TreeNode? = null
     *     var right: TreeNode? = null
     * }
     */
    class Solution {
        fun mirrorTree(root: TreeNode?): TreeNode? {
            if (root == null)
                return null
            val tmp = root.left
            root.left = mirrorTree(root.right)
            root.right = mirrorTree(tmp)
            return root
        }
    }
    

    代码文件


    不知道为什么Kotlin下面要108ms 在Java下面0ms

    相关文章

      网友评论

          本文标题:面试题27. 二叉树的镜像

          本文链接:https://www.haomeiwen.com/subject/rufrfhtx.html