《数据科学面试40+真题讲解》,K神本年度最后一次开课


一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投,内推你去多家公司面试
Airbnb 数据科学职位
in analytics and inference
天天打游戏、照样领工资,
你要不要来?
把贵司招聘信息放这里
查看: 838|回复: 4
收起左侧

[Leetcode] 求助:leetcode partition list runtime error

[复制链接] |试试Instant~ |关注本帖
hhallo 发表于 2016-8-4 08:40:19 | 显示全部楼层 |阅读模式

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?Sign Up 注册获取更多干货

x
以下是我的代码,系统显示:runtime error.


Last executed input:
[1]0
我自己在xcode里跑了下,没发现问题。请问各位究竟是怎么回事呢?谢谢!class Solution {
public:
    ListNode* partition(ListNode* head, int x) {
        ListNode *dummy1 = new ListNode(0);
        ListNode *dummy2 = new ListNode(0);
        ListNode *head2 = dummy2;
        dummy1->next = head;
        head = dummy1;


        while (head->next) {
            if (head->next->val >= x) {
                dummy2->next = head->next;
                head->next = head->next->next;  //remove the elem from orig link
                dummy2 = dummy2->next;
            } else {
                head = head->next;  //NOTE HERE! traverse the link
            }

        }
        dummy2->next = NULL;
        head->next = head2->next;
        head = dummy1->next;
        delete dummy1;
        delete dummy2;
        return head;
    }
};

hxtang 发表于 2016-8-5 06:07:58 | 显示全部楼层
你的dummy1, dummy2有可能不再是你一开始定义的sentinel了。
比如[1], 0的例子,dummy2指向1。delete后head就是dangling pointer了...
回复 支持 反对

使用道具 举报

blackrose 发表于 2016-8-5 06:30:16 | 显示全部楼层
本帖最后由 blackrose 于 2016-8-5 06:39 编辑

Dummy2 一直往后走,最后你还把人家delete了。。。。为啥。。。
回复 支持 反对

使用道具 举报

 楼主| hhallo 发表于 2016-8-6 08:03:52 | 显示全部楼层
hxtang 发表于 2016-8-5 06:07
你的dummy1, dummy2有可能不再是你一开始定义的sentinel了。
比如[1], 0的例子,dummy2指向1。delete后hea ...

多谢多谢!!明白了!
回复 支持 反对

使用道具 举报

 楼主| hhallo 发表于 2016-8-6 08:04:11 | 显示全部楼层
blackrose 发表于 2016-8-5 06:30
Dummy2 一直往后走,最后你还把人家delete了。。。。为啥。。。

多谢!一语点破!
回复 支持 反对

使用道具 举报

本版积分规则

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2017-11-18 07:22

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表