leetcode刷题笔记 226题 翻转二叉树

leetcode刷题笔记 226题 翻转二叉树

源地址:226. 翻转二叉树

问题描述:

翻转一棵二叉树。

示例:

输入:

4

/
2 7
/ \ /
1 3 6 9
输出:

4

/
7 2
/ \ /
9 6 3 1
备注:
这个问题是受到 Max Howell 的 原问题 启发的 :

谷歌:我们90%的工程师使用您编写的软件(Homebrew),但是您却无法在面试时在白板上写出翻转二叉树这道题,这太糟糕了。

//使用递归思想处理,先对左右子树进行翻转,而后调整左右子树
/**
 * Definition for a binary tree node.
 * class TreeNode(var _value: Int) {
 *   var value: Int = _value
 *   var left: TreeNode = null
 *   var right: TreeNode = null
 * }
 */
object Solution {
    def invertTree(root: TreeNode): TreeNode = {
        if (root == null) return null
        val left = invertTree(root.left)
        val right = invertTree(root.right)
        root.left = right
        root.right = left
        return root
    }
}
posted @ 2020-10-13 09:17  ganshuoos  阅读(68)  评论(0编辑  收藏  举报