【Leetcode Algorithm】Invert Binary Tree

来源:互联网 发布:playclub陈诗涵mod数据 编辑:程序博客网 时间:2024/04/29 21:43

Invert a binary tree.

     4   /   \  2     7 / \   / \1   3 6   9
to
     4   /   \  7     2 / \   / \9   6 3   1
Trivia:
This problem was inspired by this original tweet by Max Howell:

Google: 90% of our engineers use the software you wrote (Homebrew), but you can’t invert a binary tree on a whiteboard so fuck off.

/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */public class Solution {    public TreeNode invertTree(TreeNode root) {        //当根为null时,返回        if(root==null){            return root;        }        //定义临时节点,用于翻转左右节点        TreeNode tempNode;        //递归的翻转以右节点为根节点的子树        tempNode = invertTree(root.right);        //递归的翻转以左节点为根节点的子树        root.right = invertTree(root.left);        root.left = tempNode;        //翻转完成,返回根节点        return root;    }}


0 0
原创粉丝点击