剑指offer-删除链表中重复的结点

原创 2018年04月17日 16:35:06
/*
struct ListNode {
    int val;
    struct ListNode *next;
    ListNode(int x) :
        val(x), next(NULL) {
    }
};
*/
class Solution {
public:
    ListNode* deleteDuplication(ListNode* pHead)
    {
        if(pHead==NULL||pHead->next==NULL)return pHead;
        ListNode* first=pHead;
        ListNode* pre=new ListNode(-1);
        pre->next=pHead;
        ListNode* p=pre;
        ListNode* last=first->next;
        while(last){
            if(first->val==last->val){
                int val=first->val;
                while(last&&last->val==val)last=last->next;
                pre->next=last;
                
            }
            else pre=first;
            first=last;
            if(last)last=last->next;
        }
        return p->next;
    }
};

Python :删除链表中重复的节点

牛客网上的剑指 offer的在线编程: 题目描述: 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->...
  • Lynette_bb
  • Lynette_bb
  • 2017-06-18 11:43:20
  • 743

删除链表中重复的结点JAVA

思路:定义四个结点,前结点prenode,当前结点node,下一个结点nextnode,删除结点delnode,在遇到删除结点时候要保证prenode连接上nextnode,防止断裂情况。public...
  • qq_16687803
  • qq_16687803
  • 2015-06-17 14:59:13
  • 1710

删除排序链表中重复的结点

题目:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 思路:用递归删除,...
  • Bryan__
  • Bryan__
  • 2016-09-05 16:38:48
  • 1712

《剑指offer》删除链表中重复的结点

【 声明:版权所有,转载请标明出处,请勿用于商业用途。  联系信箱:libin493073668@sina.com】 题目链接:http://www.nowcoder.com/p...
  • libin1105
  • libin1105
  • 2015-09-13 22:17:38
  • 974

剑指offer-----删除链表中重复的节点(java版)

一 题目 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。  二 例子 输入链表:1->2->3->3->4->4->5  处理后为:1->2->...
  • sniperken
  • sniperken
  • 2016-12-25 20:11:12
  • 1430

链表——删除排序链表的重复结点(一个都不保留)

题目:删除排序链表中的所有重复结点,只留下没有重复过的那些结点。For example,Given1->2->3->3->4->4...
  • jingsuwen1
  • jingsuwen1
  • 2016-05-09 15:36:22
  • 418

《剑指Offer》面试题57:删除链表中重复的节点

题目:在一个排序的链表中,如何删除重复的节点? 样例输入: 1 2 3 3 4 4 5 样例输出: 1 2 51.新建一个头节点,以防第一个节点被删除。 2.保存当前节点上个节点,循环遍历整个链...
  • qq_24486393
  • qq_24486393
  • 2016-07-09 21:07:30
  • 1056

剑指Offer--039-二叉树的深度

链接 牛客OJ:二叉树的深度 九度OJ:http://ac.jobdu.com/problem.php?pid=1350 GitHub代码: 039-二叉树的深度 C...
  • gatieme
  • gatieme
  • 2016-05-07 20:39:04
  • 1366

【链表】C++删除链表中重复的结点

题目: 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 注意要删除的是所...
  • yebanxin
  • yebanxin
  • 2016-07-16 18:36:59
  • 2104

【剑指offer】二叉树的深度

题目:输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 方法一分析:主要思想就是层序遍历,就是有遍历上一层的每一个节点,得到下...
  • cdwxx1234
  • cdwxx1234
  • 2017-07-15 14:27:07
  • 180
收藏助手
不良信息举报
您举报文章:剑指offer-删除链表中重复的结点
举报原因:
原因补充:

(最多只允许输入30个字)