二叉搜尋樹指的是每乙個根的left是小與根的right是大於根的
public
class
solution
//中序遍歷,此時是root不為空
convertchild
(root.left)
;//代表我們root的左走完了,
root.left=prev;
if(prev!=null)
//本來我們到這步我們要考慮這個判斷的條件,避免了本來就為空還要將空的right給root
prev=root;
convertchild
(root.right);}
public treenode convert
(treenode prootoftree)
return head;
}}
將二叉搜尋樹轉換為雙向鍊錶
題目描述 輸入一棵二叉搜尋樹,將該二叉搜尋樹轉換成乙個排序的雙向鍊錶。要求不能建立任何新的結點,只能調整樹中結點指標的指向。好悲傷,面試微軟的時候被遇到這個題,知道大體思路,但是最終 沒寫好,由此可見平常學東西不紮實。總是淺嘗輒止。思路 使用中序遍歷,儲存已經建好的雙向鍊錶的最後乙個節點。那麼處理當...
將二叉搜尋樹轉化為雙向鍊錶
輸入一棵二叉搜尋樹,將該二叉搜尋樹轉換成乙個排序的雙向鍊錶。要求不能建立任何新的結點,只能調整樹中結點指標的指向。建立的雙向鍊錶的順序就是二叉搜尋樹的中序遍歷結果。這裡有遞迴和非遞迴解法。一般的非遞迴解法需要開闢額外的空間,本次借助morris演算法,給出一種不需要額外空間開銷的非遞迴解法。首先是遞...
將二叉搜尋樹轉換為雙向鍊錶
二叉搜尋樹的定義 若它的左子樹不空,則左子樹上所有結點的值均小於它的根結點的值 若它的右子樹不空,則右子樹上所有結點的值均大於它的根結點的值 它的左 右子樹也分別為二叉排序樹。題目描述 輸入一棵二叉搜尋樹,將其轉換為排序的雙向鍊錶,要求是不能建立任何新的節點,只能調整樹中節點指標的指向。public...