翻转二叉树
LeetCode 226:递归交换左右子树(最基础的树 DFS)。
#algorithm
#snippet
#evergreen
#leetcode
#tree
#dfs
#recursion
[!info] related notes 算法面试题型 MOC 二叉树基础 DFS / BFS / 回溯
翻转二叉树
题目
思路
每个节点都需要交换左右子树。下面代码先递归得到两棵子树的翻转结果,再把它们交叉赋回,属于自底向上的写法。它直接修改原节点并返回原 root,不创建树的副本;外部持有的节点引用也会看到变化。
代码(JavaScript)
var invertTree = function(root) {
if (root === null) return null;
const left = invertTree(root.left);
const right = invertTree(root.right);
root.left = right;
root.right = left;
return root;
};