樓主您好.我認為這道題的思路是這樣子的.利用遞歸的思想.實現壹個轉化函數rotate_tree().我們假定這個函數可以實現二叉樹的反轉,即它可以反轉3子樹,和2子樹.壹開始的時候,像先序遍歷壹樣.當訪問到壹個根結點的時候,我們可以交換root->left和root->right.(註意,交換的是指針,而不僅僅是值).於是1的left指針就指向2子樹,1的right指針就指向3.即交換了左右子樹.下壹次,就遞歸調用rotate_tree()即可.
代碼:
void?rotate_tree(node*?root){
if(root)
{
swap(root->left,root->right);
rotate_tree(root->left);
rotate_tree(root->right);
}
}