两种做饭 递归相对好做
1. recursive
class Solution {
public:
void swap(TreeNode** left, TreeNode** right)
{
TreeNode* temp = (*left);
*left = *right;
*right = temp;
}
TreeNode* invertTree(TreeNode* root) {
if (root == nullptr)
return root;
invertTree(root->left);
invertTree(root->right);
swap ((&root->left), (&root->right));
return root;
}
};其实核心思想还是 1.左边到底 2.借助程序的stack 自动跳回到上一根结点 然后再左边到底
2. Iterative
本文介绍了二叉树翻转的两种实现方法:递归和迭代。递归方法通过深入到二叉树的最左节点然后逐步回溯并交换左右子节点来完成翻转;迭代方法则使用栈或队列来辅助遍历,同样达到翻转的效果。
1194

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



