題目:輸入乙個2叉搜尋樹,將該二叉搜尋樹轉換成乙個排序的鍊錶。要求不能建立任何新的節點,只能調整書中節點指標的指向。
由於要求轉換後的鍊錶是排序的,而中序遍歷可以從小到大遍歷二叉樹的每個節點,因此可以中序遍歷該二叉樹。
當遍歷到根節點時,它的左子樹已經轉換成乙個排序的鍊錶,把鍊錶的最後結點與根節點相連即把根節點加入排序鍊錶,接著遍歷轉換右子樹,轉換左子樹和右子樹可以用遞迴的方法完成。
**如下:
/*
struct treenode
};*/
class solution
void converttree(treenode* proot,treenode** lastnodeinlist)
};
劍指Offer27二叉搜尋樹與雙向鍊錶
題目 輸入一棵二叉搜尋樹,將該二叉搜尋樹轉換成乙個排序的雙向鍊錶,要求不能建立任何新節點,只能調整樹中結點指標的指向。最後輸出排序後雙向鍊錶。分析 因為二叉搜尋樹就是乙個排序的,最後要求輸出乙個排序的雙向鍊錶,其實只要畫圖就能看出裡面的規律,這個題的規律很好得出來,但是其中的 實現是相當困難的,至少...
劍指offer 27 二叉樹的映象
宣告 本系列部落格是對何海濤 劍指offer 的關鍵點總結。1.樹的映象 定義 樹的根結點相同,但是左右兩個子節點交換了位置 2.解題思路 1 前序遍歷樹的每乙個結點 2 如果遍歷到的節點有子節點,則交換其左右兩個子節點 3 分別以左子節點和右子節點作為新的根結點,遞迴呼叫該函式 4 當遍歷到的結點...
劍指Offer 27 二叉樹的映象
請完成乙個函式,輸入一棵二叉樹,該函式輸出它的映象。例 8 8 6 10 10 6 5 7 9 11 11 9 7 5交換左右子樹,遍歷至葉節點終止即可。時間複雜度 o n 空間複雜度 o 1 def mirror of binary tree root param root root return...