二叉樹 給定一個節點,求中序遍歷下一個節點
阿新 • • 發佈:2019-01-02
題目描述
給定一個二叉樹和其中的一個結點,請找出中序遍歷順序的下一個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。using namespace std; /* struct TreeLinkNode { int val; struct TreeLinkNode *left; struct TreeLinkNode *right; struct TreeLinkNode *next; TreeLinkNode(int x) :val(x), left(NULL), right(NULL), next(NULL) { } }; */ class Solution { public: TreeLinkNode* GetNext(TreeLinkNode* pNode) { if(pNode->right){ pNode=pNode->right; while(pNode->left) pNode=pNode->left; return pNode; } while(pNode->next) { if(pNode->next->left==pNode) return pNode->next; pNode=pNode->next; } return NULL; } };