leetcode:Invert Binary Tree

来源:互联网 发布:exchange邮箱域名 编辑:程序博客网 时间:2024/06/11 09:38

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) {        invert(root);        return root;    }    void invert(TreeNode node){        if(node != null){            TreeNode t = node.left;            node.left = node.right;            node.right = t;            invert(node.left);            invert(node.right);        }    }}
0 0