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

二叉树的下一个结点

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

1,暴力解法:直接找到根节点,然后开始中序排列,将结果储存在队列中,再取出
时间复杂度:O(n)
空间复杂度:O(n)

public class Solution {
    reeLinkNode root;
    TreeLinkNode Node;
    Queuequeue = new LinkedList();
public TreeLinkNode GetNext(TreeLinkNode pNode){
    if(pNode == null) return null;
    root = pNode;
    while(root.next != null){
    root = root.next;
    }
    Queue queue = get(root);
    while(true){
        Node = queue.poll();
        if( Node == pNode)
            break;
    }
    return queue.poll();
}
public Queue get(TreeLinkNode root){
    if(root == null) return null;
    get(root.left);
    queue.offer(root);
    get(root.right);
    return queue;
}
}
全部评论

相关推荐

用微笑面对困难:这里面最强的是驾驶证了,可以入职美团大厂,然后直接开启黄马褂人生
点赞 评论 收藏
分享
10-13 13:49
南京大学 财务
饿魔:笑死我了,你简直是个天才
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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