題目:返回中序遍歷的乙個節點的下乙個節點思路:
1. 該節點是否有右孩子,右孩子的左孩子的最後乙個就是下乙個節點
2. 該節點沒有右孩子。它是父節點的左子樹,那麼下乙個節點就是 父節點。
3. 該節點沒有右孩子。它是父節點的右子樹,那麼就要找它父節點是其乙個節點的左子樹。
class solution
treelinknode *pnext =
null;
// 有 右孩子 獲取右孩子的左孩紙
if(pnode->right !=
null)
pnext = pnode_right;
}else
if(pnode->next !=
null
&& pnode->right ==
null )
pnext =
parent;
}return pnext;
}};
中序遍歷查詢下乙個節點
給定乙個二叉樹和其中的乙個結點,請找出中序遍歷順序的下乙個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。思路 就是只考慮當前節點的右邊,父親部分。public class treelinknode 解題思路 如果乙個節點的右子樹不為空,那麼該節點的下乙個節點是右子樹的最...
求中序遍歷的下乙個節點
出處 node findinordersuccessor node root,node target if s.empty else if prev target prev cur cur cur right return null 另外一種原創解法,假設輸入引數只有乙個,所求的為輸入引數的下乙個節...
給定乙個節點,求他中序遍歷順序下的下乙個節點
訪問下乙個節點有兩種情況,有右子樹,就往右邊遍歷,其中假如左子樹不為空就一直往左走,否則返回,沒有左子樹就直接返回。情況二就是像圖中左下角一樣的沒有右子樹或者左右子樹都沒有就要找對應的沒有遍歷過得父節點,if parent left pnode 這說明剛好是符合要求的父節點,否則就要向上沿路找沒有遍...