1. 程式人生 > >劍指offer---二叉樹的下一個結點

劍指offer---二叉樹的下一個結點

node 下一個 -- style 二叉樹 結點 right fat turn

/*
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==NULL) { return NULL; } if(pNode->right!=NULL) { pNode=pNode->right; while(pNode->left!=NULL) { pNode=pNode->left; } return pNode; } while
(pNode->next!=NULL) { TreeLinkNode* father=pNode->next; if(father->left==pNode) { return father; } pNode=father; } return NULL; } };

劍指offer---二叉樹的下一個結點