本文共 758 字,大约阅读时间需要 2 分钟。
先找到根,然后中序遍历:
在这里插入代码片/*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: queueq; void solve(TreeLinkNode* a,TreeLinkNode* b){ if(b==NULL) return ; solve(a,b->left); q.push(b); if(b==a) while(!q.empty()) q.pop(); solve(a,b->right); } TreeLinkNode* GetNext(TreeLinkNode* pNode) { TreeLinkNode* root = pNode; TreeLinkNode* fa = root->next; while(fa!=NULL){ root = root->next; fa = root->next; } solve(pNode,root); return q.empty()?NULL:q.front(); }};
转载地址:http://hywji.baihongyu.com/