2
我必須鬆開二叉樹。我的意思是,我有以下方法鬆開二叉樹
public static <T> BinaryNode<T> unthread(BinaryNode<T> root)
接收雙重線索二叉樹,它應該返回一個擰開樹 - 這意味着,它必須刪除曾經是額外的節點null使它們再次爲空。
我認爲我應該這樣做的方式是與每個節點建立鏈接列表,然後調用一個輔助方法,該方法將以線程樹和鏈接列表作爲參數。然後,遍歷樹,如果已經訪問了一個節點,這意味着我必須刪除它。
我不知道這是否會起作用。你有什麼建議?
什麼是「雙線程樹」? – 2013-04-07 17:43:55
也許你的意思是「雙重聯繫」?這意味着孩子節點有一個參考,父母也有參考。 – gaborsch 2013-04-07 17:45:43
我認爲OP是指像堆數據結構中的二進制節點,並將它們轉換爲鏈接列表中的單鏈接節點。 – 2013-04-07 17:46:47