劍指offer49 二叉搜尋樹與雙向鍊錶

2021-10-06 02:29:45 字數 503 閱讀 2828

輸入一棵二叉搜尋樹,將該二叉搜尋樹轉換成乙個排序的雙向鍊錶。

要求不能建立任何新的結點,只能調整樹中結點指標的指向。

注意

需要返回雙向鍊錶最左側的節點。

例如,輸入下圖中左邊的二叉搜尋樹,則輸出右邊的排序雙向鍊錶。

思路:實際上中序遍歷的遍歷順序就是雙線鍊錶的建立順序,用乙個pre指標儲存當前遍歷結點的前乙個結點,最後找到雙向鍊錶的頭結點返回。

/**

* definition for a binary tree node.

* struct treenode

* };

*/class

solution

void

dfs(treenode* root)

};

《劍指offer》49 搜尋二叉樹的第k大節點

首先,關於二叉樹的一些其它題目,可以參考 劍指offer 28 30 二叉樹四則 之字形遍歷 層次遍歷 搜尋二叉樹的後序遍歷 二叉樹的路徑 搜尋二叉樹的概念 左子結點值小於根節點值,根節點值小於右節點值,所以最後乙個元素肯定是根節點。offer49的要求是找搜尋二叉樹的第k大節點,我採取的是中序遍歷...

劍指Offer 49 醜數

我們把只包含因子2 3和5的數稱為醜數。求按從小到大的順序的第1500個醜數。例 6 8都是醜數,但14不是,因為它包含因子7。習慣上我們把1當作第乙個醜數。遍歷數字,對每個數字判斷是否只包含2 3 5因子。問題在於,有很多無用的計算,增加時間複雜度。時間複雜度 o n 空間複雜度 o 1 可以發現...

劍指offer49 醜數

把只包含質因子2 3和5的數稱作醜數 ugly number 例如6 8都是醜數,但14不是,因為它包含質因子7。習慣上我們把1當做是第乙個醜數。求按從小到大的順序的第n個醜數。思路 1.每次找出乙個最小丑數res i 都會產生三個新的醜數,2 res i 3 res i 5 res i 2.如果我...