226.翻转二叉树

给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。

示例 1:

输入:root = [4,2,7,1,3,6,9]
输出:[4,7,2,9,6,3,1]

示例 2:

 

 

输入:root = [2,1,3]
输出:[2,3,1]

示例 3:

输入:root = []
输出:[]

提示:

  • 树中节点数目范围在 [0, 100] 内
  • -100 <= Node.val <= 100

方法一:递归

时间复杂度:O(n)

空间复杂度:O(n)

 1 /**
 2  * Definition for a binary tree node.
 3  * function TreeNode(val, left, right) {
 4  *     this.val = (val===undefined ? 0 : val)
 5  *     this.left = (left===undefined ? null : left)
 6  *     this.right = (right===undefined ? null : right)
 7  * }
 8  */
 9 /**
10  * @param {TreeNode} root
11  * @return {TreeNode}
12  */
13 var invertTree = function(root) {
14     if(root===null) {return root;}
15     const left = invertTree(root.left);
16     const right =invertTree(root.right);
17     root.left=right;
18     root.right=left;
19     return root;
20 };
posted @ 2021-05-19 22:16  icyyyy  阅读(107)  评论(0)    收藏  举报