1.题目描述:
翻转一棵二叉树。
输入:
4 / \ 2 7 / \ / \ 1 3 6 9
输出:
4 / \ 7 2 / \ / \ 9 6 3 1
2.解题思路:
(1)从根节点开始判断,然后新建一个node 来接收root.left,来进行节点交换
(2)采用递归来进行交换,知道判断root==null,就是到了尽头了,这个时候就返回null。
(3)最后返回交换后的root;
3.上代码:
/**
* Definition for a binary tree node.
* function TreeNode(val) {
* this.val = val;
* this.left = this.right = null;
* }
*/
/**
* @param {TreeNode} root
* @return {TreeNode}
*/
var invertTree = function(root) {
if(root===null)
{
return null;
}
if(root){
var left = root.left;
root.left = root.right;
root.right = left;
}
invertTree(root.left);
invertTree(root.right);
return root;
};