樹 6 二叉樹的下乙個節點

2021-10-02 11:21:22 字數 809 閱讀 8980

思路:首先我們要清楚中序遍歷的性質,遍歷左子樹,根,右子樹。

如果這個節點有右子樹,那麼下乙個遍歷的就是右子樹的最左節點。

如果這個節點是普通節點,並且它沒有右子樹,但是他是其父節點的左孩子,那麼下乙個節點就是父節點。

如果這個節點是普通節點,沒有右子樹,並且是其父節點的右孩子。那麼我們就需要向上遍歷查詢,找到乙個節點(b)是其父節點(a)的左孩子,那麼下乙個節點就是 a 。如果找不到這樣的節點,也就是父節點為 null 了,那麼就沒有下乙個節點。

實現:

public

class

treelinknode

}public treelinknode getnext

(treelinknode pnode)

resultnode = temp;

}//如果這個節點沒有右子樹,但是他是它父親的左孩子

else

if(pnode.right == null && pnode.next !=null && pnode.next.left == pnode)

//如果這個節點沒有右子樹,並且是其父親的右孩子

else

if(pnode.right == null && pnode.next != null && pnode.next.right == pnode)

resultnode = temp.next;

}return resultnode;

}

二叉樹的下乙個節點

問題 題目給出的預設 為 1 coding utf 8 2 class treelinknode 3 def init self,x 4 self.val x5 self.left none6 self.right none7 self.next none 8class solution 9def ...

二叉樹的下乙個節點

coding utf 8 class treelinknode def init self,x self.val x self.left none self.right none self.next none 1 該節點有左子樹,說明左邊已經遍歷過,該節點作為根節點,下一步應該填右子樹,如果該節點有...

二叉樹的下乙個節點

題目描述 給定一棵二叉樹和其中的乙個節點,如何找出中序遍歷序列的下乙個節點?樹中的節點除了有兩個分別別指向左右子節點的指標,還有乙個指向父節點的指標 例如 這棵樹的中序遍歷是 d,b,h,e,i,a,f,c,g 解題思路 3 當結點的右子樹為空,且是它父節點的左子節點時,它的下乙個節點就是它的父節點...