题目考查的知识点

  • 二叉树的遍历
  • 递归遍历二叉树

题目解答方法的文字解析

  1. root如果为空,递归函数直接返回
  2. root不为空,交换root的左右指针
  3. 递归左右子树,按步骤2继续处理该二叉树

本题解析所用的编程语言

  • c++

完整且正确的编程代码

class Solution {//labuladong 遍历法 
public:
    TreeNode* invertTree(TreeNode* root) {
        traverse(root);
        return root;
    }
    void traverse(TreeNode* root){//遍历每个节点,让每个节点的左右子节点颠倒过来就行了
        if(!root)return;
        TreeNode *tmp = root->left;
        root->left = root->right;
        root->right = tmp;
        traverse(root->left), traverse(root->right);
    }
};