
把二叉树所有节点的的左右子树反转。
思路:
既然所有节点的左右子树进行反转,就需要对所有节点遍历。
选择前序遍历,因为先遍历root,然后反转它的左右子树,再对左右子树遍历。
class Solution {
public TreeNode invertTree(TreeNode root) {
preOrder(root);
return root;
}
void preOrder(TreeNode root) {
if(root == null) return;
TreeNode tmp = root.left;
root.left = root.right;
root.right = tmp;
preOrder(root.left);
preOrder(root.right);
}
}
该文章描述了一个二叉树的节点反转问题,通过前序遍历的方式,对每个节点的左右子树进行交换,从而实现所有节点的子树反转。在代码中定义了一个`invertTree`方法,使用递归的`preOrder`函数来遍历并反转每个节点的子树。
302

被折叠的 条评论
为什么被折叠?



