题解 | #二叉树的下一个结点#

二叉树的下一个结点

http://www.nowcoder.com/practice/9023a0c988684a53960365b889ceaf5e

这也是时间O(n),空间O(1)的解法啊

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:
    void help(TreeLinkNode* root,TreeLinkNode* pNode,TreeLinkNode* &res,bool &flag){
        //root是当前节点,pNode是题目给出节点,res是结果节点,
        if(root==NULL) return ;
        help(root->left,pNode,res,flag);
        if(flag){
            res=root;
            flag=false;
            return ;
        }
        if(root==pNode) flag=true;
        help(root->right,pNode,res,flag);
    }
    TreeLinkNode* GetNext(TreeLinkNode* pNode) {
        TreeLinkNode* root=pNode,*res=NULL;
        while(root->next!=NULL) root=root->next;
        bool flag=false,flag1=false;
        help(root,pNode,res,flag);
        return res;
    }
};
全部评论

相关推荐

不愿透露姓名的神秘牛友
今天 14:00
林子大了什么鸟都有啊,我觉得我说的已经很客气了,阴阳谁呢
牛客62656195...:应该不是阴阳吧?你第一次注册的时候boss就说你是牛人
点赞 评论 收藏
分享
06-12 10:50
门头沟学院 Java
你的不定积分没加C:我怎么在学院群看到了同样的话
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-08 11:16
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务