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

解析

递归交换每个节点的左右子树。

1
2
3
4
5
6
7
8
9
10
11
/**
* @param {TreeNode} root
* @return {TreeNode}
*/
var invertTree = function (root) {
if (!root) return null;
[root.left, root.right] = [root.right, root.left];
invertTree(root.left);
invertTree(root.right);
return root;
};

三行代码解决的经典递归题。时间复杂度 O(n)。


226.翻转二叉树
https://leetcode.lz5z.com/226.invert-binary-tree/
作者
tickli
发布于
2024年7月12日
许可协议