LeetCode题解:226. 翻转二叉树,递归,JavaScript,详细注释

    科技2025-07-15  13

    原题链接:https://leetcode-cn.com/problems/invert-binary-tree/

    解题思路:

    使用递归首先要思考,当前递归函数运行的是第n次递归,那么当前要做哪些处理。先考虑的是,假设此时遍历到了最后一个节点为null,要给递归设置终止条件。在当前递归,将子节点互换,并使用新的子节点进行下一层递归。 /** * Definition for a binary tree node. * function TreeNode(val) { * this.val = val; * this.left = this.right = null; * } */ function recursion(node) { // 如果当前节点不存在,则退出递归 if (!node) { return; } // 将子节点互换 const temp = node.left; node.left = node.right; node.right = temp; // 遍历互换后的子节点 recursion(node.left); recursion(node.right); } /** * @param {TreeNode} root * @return {TreeNode} */ var invertTree = function (root) { // 递归遍历节点,并进行翻转 recursion(root); return root; };
    Processed: 0.010, SQL: 8