題目:
輸入一棵數的兩個結點,返回這兩個結點的最低公共祖先
解法:
分析:如果是二叉樹,可以使用遞歸的思路专执,從根結點開始奈偏,如果兩個結點分布在左右兩顆子樹上坞嘀,則即為所求;如果都在左子樹惊来,遞歸搜索左子樹丽涩;如果都在右子樹,遞歸搜索右子樹裁蚁。
如果是一般的樹矢渊,通過保存根節(jié)點到輸入結點的路徑,然后求這兩條路徑的最后一個公共子節(jié)點即可枉证。問題的關鍵就在于求得這個路徑:從根節(jié)點開始矮男,深度優(yōu)先遍歷根節(jié)點的所有子節(jié)點,如果遇到了輸入結點室谚,即求得了路徑毡鉴。