【JS每日一算法:剑指Offer系列】🟩168. 翻转二叉树(深度)

58 阅读1分钟

给你一棵二叉树的根节点 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

题解:

个人博客

更多JS版本题解点击链接关注该仓库👀

/**
 * @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
}