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

二叉树的下一个结点

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

第二十二题 不是很懂  
第一种 暴力破解 遍历完next 回到根节点 再中序遍历 补充完所有的next 返回结果
/*
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:
    vector<TreeLinkNode*> node;
    TreeLinkNode* GetNext(TreeLinkNode* pNode) {
        // 怎么给的参数啊 这题目出的。。。看都看不懂
        // 那个8、9是什么啊
        
        // 好像是要求中序遍历 填充next next的值是指向下一个中序遍历的结点??
        // 标准答案  有 先遍历所有的next??好像是为了走到根节点????
        TreeLinkNode* temp=pNode;
        while(pNode->next!=NULL)
            pNode=pNode->next;

        // 正常中序遍历
        zhongxvbianli(pNode);
        for(int i=0;i<node.size();i++)
            node[i]->next=node[i+1];
        return temp->next;
    }
    void zhongxvbianli(TreeLinkNode* pNode)
    {
        if(pNode == NULL)
            return;
        zhongxvbianli(pNode->left);
//         cout<<pNode->val<<endl;
        node.push_back(pNode);
        zhongxvbianli(pNode->right);
    }
};
题解 文章被收录于专栏

一遍做剑指offer 一边保存做题步骤 并附带详细注释哦

全部评论

相关推荐

昨天 15:12
门头沟学院 Java
别人在上班,我就在工位上看看视频啥的,这正常吗?
程序员小白条:实习就是摸鱼,只是公司指标,把你进来了,可能那时候客户很多,但等你进来的时候,已经是淡季了,根本没多少需求,或者说根本不适合实习生去完成,因此你就每天干坐着就行,可能1,2个月都没需求
实习生的蛐蛐区
点赞 评论 收藏
分享
合不合适,我自己说了才算
码农索隆:hr:“真执着啊,来我公司当法人吧”
点赞 评论 收藏
分享
05-23 19:02
吉林大学 Java
点赞 评论 收藏
分享
07-10 12:17
已编辑
商丘师范学院 Java
后来123321:别着急,我学院本大二,投了1100份,两个面试,其中一个还是我去线下招聘会投的简历,有时候这东西也得看运气
无实习如何秋招上岸
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-07 13:46
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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