给你一棵二叉树的根节点 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
题解:
/**
* @description: 深度优先 TC:O(n) SC:O(n)
* @author: JunLiangWang
* @param {*} root 给定树根节点
* @return {*}
*/
function dfs(root) {
/**
* 本方案使用深度优先的方式遍历树的节点,
* 然后交换遍历的左右节点即可
*/
if (!root) return root
let left = dfs(root.left),
right = dfs(root.right)
root.left = right
root.right = left
return root
}