將二叉搜尋樹轉為雙向鍊錶

2021-09-29 20:16:36 字數 444 閱讀 3041

二叉搜尋樹指的是每乙個根的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...