剑指offer第35题复杂链表复制

大佬们好,今天小弟在牛客上刷剑指offer第35题复杂链表复制时,当我本地测试没问题之后,我将代码提交到牛客,得到的输出是:

您的代码已保存
答案错误:您提交的程序没有通过所有的测试用例
case通过率为0.00%

用例:
{1,2,3,4,5,3,5,#,2,#}

对应输出应该为:

{1,2,3,4,5,3,5,#,2,#}

你的输出为:
空.请检查一下你的代码,有没有循环输入处理多个case.点击查看如何处理多个case

本人代码:

public class Solution {
    public RandomListNode Clone(RandomListNode pHead)
    {
        if (pHead == null)
            return null;

        RandomListNode node = pHead;
        RandomListNode retNode = null;
        while (node != null) {
            RandomListNode copyNode = new RandomListNode(node.label);
            copyNode.next = node.next;
            node.next = copyNode;
            node = copyNode.next;
        }

        node = pHead;
        while (node != null && node.next != null) {
            if (node.random != null) {
                node.next.random = node.random.next;
            }
            node = node.next.next;
        }

        retNode = pHead.next;

        node = pHead;
        while (node != null && node.next != null && node.next.next != null) {
            RandomListNode temp = node.next;
            node.next = temp.next;
            temp.next = node.next.next;
            node = node.next;
        }

        return retNode;
    }
}

我感觉自己的代码逻辑没有问题啊,到底该怎么修改,才能通过呢?请知道的大佬提供宝贵的修改意见,谢谢。

#笔试题目#
全部评论
第三个while只加中间的条件
点赞 回复 分享
发布于 2019-07-03 23:35
你的random指针只有不空的时候才给新赋值,是空的时候没有赋值。应该加上else的处理
点赞 回复 分享
发布于 2019-07-03 23:18

相关推荐

不愿透露姓名的神秘牛友
07-16 14:00
机械打工仔:来挂自己了,经典巨婴从校园投入职场
点赞 评论 收藏
分享
07-17 12:07
门头沟学院 Java
勇敢牛牛不怕困难
投递OPPO等公司7个岗位
点赞 评论 收藏
分享
不要停下啊:大二打开牛客,你有机会开卷了,卷起来,去找课程学习,在牛客上看看大家面试笔试都需要会什么,岗位有什么需求就去学什么,努力的人就一定会有收获,这句话从来都经得起考验,像我现在大三了啥也不会,被迫强行考研,炼狱难度开局,啥也不会,找工作没希望了,考研有丝丝机会
点赞 评论 收藏
分享
嵐jlu:我是山川🐔里🐔🧱的,阿里系简历全过; 你这简历一看就还是半成品啊,没有荣誉经历奖项什么的吗?
投递阿里巴巴集团等公司8个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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