翻转二叉树:
第一次:因为222的缘故学会了一些方法 也就是递归 在自己中调用自己
class Solution {
public:
TreeNode* invertTree(TreeNode* root) {
TreeNode* left=root->left;
TreeNode* right=root->right;
while(left&&right)
{
int i=left->val;
left->val=right->val;
right->val=i;
}
inverTree(root->right);
inverTree(root->left);
return root;
}
};
但是报错了
第二次
class Solution {
public:
TreeNode* invertTree(TreeNode* root) {
TreeNode* i;
if(root==NULL)
{
return NULL;
}
i=root->left;
root->left=root->right;
root->right=i;
invertTree(root->left);
invertTree(root->right);
return root;
}
};
第一次这么快写对
时间复杂度o(n²)
空间复杂度o(1)