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
    }
}
                    
                
                
            
        
浙公网安备 33010602011771号