題目原意:反轉一棵二叉樹,即交換樹的每一個左右節點;
代碼如下(leetCode 測得運行時間爲0ms):
struct TreeNode *invertTree(struct TreeNode *root)
{
struct TreeNode *tmp = NULL;
if (root == NULL)
{
return NULL;
}
//!< 先交換左右節點,再分別對左右節點遞歸
tmp = root->right;
root->right = root->left;
root->left = tmp;
if (root->right)
{
invertTree(root->right);
}
if (root->left)
{
invertTree(root->left);
}
return root;
}