題目描述:
給定一棵二叉樹和乙個結點,要求找到中序遍歷此樹時該結點的下乙個結點。
分析:
中序遍歷一棵二叉樹時,要根據乙個結點有無右子樹而分開討論。
若當前結點有右子樹,則它的下乙個結點就是其右子樹的最左葉子結點;
若當前結點沒有右子樹,那麼又分兩種情況:
*若當前結點是其父節點的左孩子結點,那麼其下乙個結點就是其父結點;
*若當前結點是其父節點的有孩子結點,那麼沿著指向其父結點的指標向上查詢,直到找到乙個結點a滿足a = a->parent->left 時,則下乙個結點就是a->parent ;若一直找到根結點都沒有滿足要求的結點,那麼當前結點沒有下乙個結點;
struct node
};node* getnextnode(node *pnode)else
dest = par;
}return dest;
}
對稱的二叉樹 二叉樹的下乙個結點
1 對稱二叉樹 1.1 題目 請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。1.2 原理 需要注意的是,題目中同樣的理解,必須是結構一樣,且對應節點的值也要是一樣的。遍歷的思想,對於根節點的左右子樹可以分別將其看成兩個二叉樹1和樹2,同...
二叉樹的下乙個結點 對稱的二叉樹
給定乙個二叉樹和其中的乙個結點,請找出中序遍歷順序的下乙個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。二叉樹為空,返回空 結點的右孩子存在,設定指標從右孩子出發,沿著左子結點出發直到找到葉子節點,這個就是下乙個節點 結點不是根結點,如果是父節點的左孩子,返回父節點 如...
樹 二叉樹的下乙個結點
題目描述 給定乙個二叉樹和其中的乙個結點,請找出中序遍歷順序的下乙個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。思路 如果乙個結點有右子樹,那麼它的下乙個結點就是它的右子樹中的左子結點。也就是說右子結點出發一直沿著指向左子結點的指標,我們就能找到它的下乙個結點。接著我...