查找結點p和q的最近公共祖先 非遞歸


思路

分別找到p、q到達根結點的路徑,這兩條路徑的最后一個相同結點就是最近公共祖先
而后序遍歷的非遞歸算法可以保留結點的所有祖先結點(即到根結點的路徑),所以使用后序遍歷的非遞歸算法具體實現

后序遍歷的非遞歸算法

1、若結點不為空或者棧不為空,則繼續執行以下步驟
2、若結點不為空,一直找左子樹
3、(結點為空)若棧不為空,並且結點的右子樹被訪問,退棧
4、(結點為空)若棧不為空,並且結點的右子樹未被訪問,標記右子樹被訪問,且訪問右子樹


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM