Typescript-Algorithms
    Preparing search index...

    Variable invert_binary_treeConst

    invert_binary_tree: (root: null | TreeNode) => null | TreeNode = invertTree

    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]


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


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

    Type declaration

      • (root: null | TreeNode): null | TreeNode
      • Definition for a binary tree node. class TreeNode { val: number left: TreeNode | null right: TreeNode | null constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) { this.val = (val===undefined ? 0 : val) this.left = (left===undefined ? null : left) this.right = (right===undefined ? null : right) } }

        Parameters

        • root: null | TreeNode

        Returns null | TreeNode

    翻转二叉树,就是将二叉树的左右子树交换。

    /**
    * Definition for a binary tree node.
    * class TreeNode {
    * val: number
    * left: TreeNode | null
    * right: TreeNode | null
    * constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {
    * this.val = (val===undefined ? 0 : val)
    * this.left = (left===undefined ? null : left)
    * this.right = (right===undefined ? null : right)
    * }
    * }
    */

    function invertTree(root: TreeNode | null): TreeNode | null {
    function dfs(node: TreeNode | null) {
    if (!node) {
    return null;
    }

    const left = dfs(node.left);
    const right = dfs(node.right);

    node.left = right;
    node.right = left;

    return node;
    }

    return dfs(root);
    };