問題:給出一個滿二叉查找樹,將結點與其右邊的結點相連
思路:
一種方式是自頂向下,基於當前結點和右邊結點來作遍歷,對於根結點,右邊結點爲null,不管是否有右邊結點,在遞歸過程中都需要將當前結點的next設置爲右結點。在作下一層處理時,以當前結點的左孩子結點、右孩子結點遞歸。對於右邊結點不爲空的,則以當前結點的右孩子,右邊結點的左孩子結點作爲一次遞歸以及用右邊結點的左孩子、右孩子作爲另外一次遞歸。
另外一種方式是從底向上,從右向左的方式 。在以右孩子結點往下遞歸時,得到右子樹的結點,然後以當前遍歷深度的左孩子,及右子樹遞歸的結果作爲左孩子的右結點遞歸。在遞歸過程中,如果右結點不爲空,需要更新當前結點的next,同時更新next
具體代碼參考: