LeetCode 83. Remove Duplicates from Sorted List
2016-03-10 10:28
651 查看
Given a sorted linked list, delete all duplicates such that each element appear only once.
For example,
Given
Given
一、算法分析
处理不带头结点的单链表,涉及到删除的时候需要考虑删除的是不是头结点;并且需要考虑头结点为空时的情况;
二、C语言实现
For example,
Given
1->1->2, return
1->2.
Given
1->1->2->3->3, return
1->2->3.
一、算法分析
处理不带头结点的单链表,涉及到删除的时候需要考虑删除的是不是头结点;并且需要考虑头结点为空时的情况;
二、C语言实现
/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ struct ListNode* deleteDuplicates(struct ListNode* head) { struct ListNode *pre,*p; if(head==NULL){ return head; } while(head!=NULL && head->next!=NULL && head->next->val==head->val){ head=head->next; } pre=head; p=head->next; while(p){ if(p->val==pre->val){ pre->next=p->next; p=p->next; }else{ pre=p; p=p->next; } } return head; }
相关文章推荐
- 如何组织构建多文件 C 语言程序(二)
- [C/C++]反转链表
- 如何写好 C main 函数
- 书评:《算法之美( Algorithms to Live By )》
- 动易2006序列号破解算法公布
- C#数据结构之顺序表(SeqList)实例详解
- C#实现基于链表的内存记事本实例
- Ruby实现的矩阵连乘算法
- C#插入法排序算法实例分析
- Lua和C语言的交互详解
- Lua教程(七):数据结构详解
- 解析从源码分析常见的基于Array的数据结构动态扩容机制的详解
- 超大数据量存储常用数据库分表分库算法总结
- C#数据结构与算法揭秘二
- C#冒泡法排序算法实例分析
- C#数据结构之队列(Quene)实例详解
- C#数据结构揭秘一
- C#数据结构之单链表(LinkList)实例详解
- 算法练习之从String.indexOf的模拟实现开始
- C#算法之关于大牛生小牛的问题