程式設計 二叉樹的下乙個節點

2021-08-23 14:38:33 字數 683 閱讀 1091

給定乙個二叉樹和其中的乙個結點,請找出中序遍歷順序的下乙個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。

/*

struct treelinknode

};*/

class solution

//1.判斷有沒有右子樹,pnode節點有右孩子,下乙個結點就是以pnode結點的右孩子為根的子樹中的最左下結點。

if(pnode->right!=null)

return pnode;

}節點沒有右孩子時,pnode節點是其父結點的左孩子,直接將父節點返回.

if(pnode->next==null)

if(pnode==pnode->next->left)

節點沒有右孩子時,pnode節點是其父結點的右孩子,需要不斷的向上移動,直到父節點是其父節點的父節點的左孩子

//既然他是父節點的左節點,此時將這個節點父節點返回即可,或者遍歷到了根節點,返回null.

treelinknode* pnext = pnode->next;

while(pnext->next!=null)

//繼續向上找父節點

pnext = pnext->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 當結點的右子樹為空,且是它父節點的左子節點時,它的下乙個節點就是它的父節點...