題目描述:給定一個二叉樹和其中的一個結(jié)點弧可,請找出中序遍歷順序的下一個結(jié)點并且返回屎慢。注意码倦,樹中的結(jié)點不僅包含左右子結(jié)點鸦致,同時包含指向父結(jié)點的指針潮剪。
問題分析:根據(jù)中序遍歷的特點,當前節(jié)點的下一節(jié)點有三種可能分唾,舉例如下圖:
(1)當前節(jié)點有右孩子抗碰,那么下一節(jié)點就是該右孩子的最左葉節(jié)點。如上圖B節(jié)點
(2)當前節(jié)點沒有右孩子绽乔,并且當前節(jié)點是其父節(jié)點的右孩子弧蝇,那么下一節(jié)點是其父節(jié)點的父節(jié)點。如上圖D節(jié)點
(3)當前節(jié)點沒有右孩子折砸,并且當前節(jié)點是其父節(jié)點的左孩子看疗,那么下一節(jié)點是其父節(jié)點。如上圖E節(jié)點
代碼截圖: