作者看到该题首先想到递归的做题思路,先设置基例(即递归终止条件),结点到空的时候停止,然后再设置链条,传入当前结点的左右结点,之后调用swap函数交换左右节点的位置,最后返回root即可。代码如下:
class Solution {
public:
TreeNode* invertTree(TreeNode* root) {
if(root==nullptr)return root;
invertTree(root->left);
invertTree(root->right);
swap(root->left,root->right);
return root;
}
};