/*
struct treelinknode
};*/
class solution
return currnode;
}//case two: the node does not has right son, it is the left son of its father
if(pnode->next == null)
return null;
if(pnode == pnode->next->left)
//case two: the node does not has right son, it is the right son of its father
if(pnode == pnode->next->right)
return currnode->next;
}return null;
}};
public
class treelinknode
}public
class solution
//第二步:判斷是否是其父節點的左孩子
if(pnode.next == null) return
null;
if(pnode == pnode.next.left)
//第三步:向上找其父節點,直到父節點是其父節點的父節點的左孩子
curnode = pnode.next;
while(curnode.next != null)
//繼續向上找父節點
curnode = curnode.next;
}return
null;
}}
劍指offer 二叉樹的下乙個結點
題目描述 給定乙個二叉樹和其中的乙個結點,請找出中序遍歷順序的下乙個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。using namespace std struct treelinknode class solution treelinknode nextnode n...
劍指offer 二叉樹的下乙個節點
給定乙個二叉樹和其中的乙個結點,請找出中序遍歷順序的下乙個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。在編寫程式之前,先縷清思路。在該題總,應該分不同情況對其進行討論。情況一 魯棒性 目標節點為空節點時返回ptr 情況二 目標節點沒有父節點且沒有右子樹時,即該節點就是...
劍指offer 二叉樹的下乙個結點
給定乙個二叉樹和其中的乙個結點,請找出中序遍歷順序的下乙個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。結合圖,我們可發現分成兩大類 1 有右子樹的,那麼下個結點就是右子樹最左邊的點 eg d,b,e,a,c,g 2 沒有右子樹的,也可以分成兩類,a 是父節點左孩子 e...