一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 1023|回复: 2
收起左侧

[算法题] Remove Duplicates from Sorted List

[复制链接] |试试Instant~ |关注本帖
tellmethough 发表于 2016-4-22 11:10:06 | 显示全部楼层 |阅读模式

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

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

x
虽然是到简单题, 但是有很多种方法, 想找出那种第一反应可以自己写出来并不出错的。
这个是我自己写的小程序, 希望有人给指点。

class Solution {
public:
    void rmdup(ListNode* head){
            ListNode* p  = head, *q = NULL;
            while(p!=NULL&&p->next!=NULL){
                    q = p->next;
                    if(p->val == q->val) {
                            p ->next = q ->next;
                            delete q;
                            rmdup(p);
                            }
                    else{
                            p = p->next;
                            q = q->next;}
            }
    }
    ListNode* deleteDuplicates(ListNode* head) {


        if(head == NULL) return head;

        if(head->next!=NULL){
            ListNode* p = head;
            rmdup(p);


            return head;}
            return head;
    }
};



另外, 五月找工作很忙, 希望有小伙伴组队一起刷体, 可以在google doc上面互相勉励。
求一起刷题~~~


补充内容 (2016-4-22 23:54):
valid only with c++ !!!!!!
stellari 发表于 2016-4-23 07:05:08 | 显示全部楼层
我觉得吧,链表题最好不要写成递归的形式,用去大量栈空间不说,而且还会受到递归深度最大值的限制。delete q之后,重新循环就好了,完全不需要递归的。
回复 支持 反对

使用道具 举报

 楼主| tellmethough 发表于 2016-5-6 23:18:48 | 显示全部楼层
stellari 发表于 2016-4-23 07:05
我觉得吧,链表题最好不要写成递归的形式,用去大量栈空间不说,而且还会受到递归深度最大值的限制。delete ...

谢谢 大师指点。。   我没发现 recursion 完全可以 省略。。。。哎 您还在刷题吗。。 可以邀请您一起 参与练题吗?
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

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

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-7 00:54

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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