题目

思路

图片说明

Code

class Solution {
public:
    TreeLinkNode* GetNext(TreeLinkNode* pNode)
    {
        if(!pNode)        //输入测试
            return nullptr;

        if(pNode->right != nullptr)
        {
            pNode = pNode->right;
            while(pNode->left != nullptr)
            {
                pNode = pNode->left;
            }
            return pNode;
        }
        else{
            while(pNode->next != nullptr)
            {
                TreeLinkNode* parent = pNode->next;
                if(parent->left == pNode)
                    return parent;
                pNode = pNode->next;
            }
        }
        return nullptr;
    }
};