题目介绍

在这里插入图片描述

题目分析

题目要求我们将树中每个节点的左右子节点全部交换,最后返回交换后的树的根节点

解题思路

这题是比较常见递归,直接找边界条件和子问题

边界条件:节点为空返回

 if(root==NULL)
    return NULL;

问题交换左右子节点


      struct TreeNode*tmp=root->right;
        root->right=root->left;
        root->left=tmp;
    invertTree(root->left);
     invertTree(root->right);

整体代码

struct TreeNode* invertTree(struct TreeNode* root) {
 if(root==NULL)
    return NULL;

      struct TreeNode*tmp=root->right;
        root->right=root->left;
        root->left=tmp;
    invertTree(root->left);
     invertTree(root->right);
     return root;
}

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注