牛客題解 二叉樹的下乙個節點

2021-10-06 05:29:12 字數 716 閱讀 6401

題中給出的指向父親節點的指標,用next表示,有點會讓人誤解。

思路:我們以以下這棵二叉樹為例,中序遍歷為

把很容易可以發現,如果要找乙個節點的下一結點,比如說是b節點的下一結點,我們首先看b的右樹是不是為空,如果不為空,一直沿著指向左子結點的指標找到的葉子節點即為下乙個節點,在這裡b的下乙個節點是h;

無右子樹,且結點是該結點父結點的左子樹,則下一結點是該結點的父結點,例如 h,下一結點是 e

無右子樹,且結點是該結點父結點的右子樹,則我們一直沿著父結點追朔,直到找到某個結點是其父結點的左子樹,如果存在這樣的結點,那麼這個結點的父結點就是我們要找的下一結點。例如 i,下一結點是 a;例如 g,並沒有符合情況的結點,所以 g 沒有下一結點

/*

struct treelinknode

};*/

class

solution

while

(pnode-

>next)

//右樹為空

return

null;}

};

二叉樹的下乙個節點

問題 題目給出的預設 為 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 當結點的右子樹為空,且是它父節點的左子節點時,它的下乙個節點就是它的父節點...