查看: 1931| 回复: 4
跳转到指定楼层
上一主题 下一主题
收起左侧

[Leetcode] 求助:leetcode partition list runtime error

全局:

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

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

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;
    }
};


上一篇:leetcode premium 合买
下一篇:解决了!!
🔗
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了。。。。为啥。。。

多谢!一语点破!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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