[LeetCode] Remove Duplicates from Sorted List
2024-09-15 21:54:37
Given a sorted linked list, delete all duplicates such that each element appear only once.
For example,
Given 1->1->2
, return 1->2
.
Given 1->1->2->3->3
, return 1->2->3
.
这题比较简单,用两个指针,一个cursor遍历链表用,一个stick指向上一个不重复的node,这样每次遍历时如果cursor跟stick不一样的话就把stick的next指向cursor,然后更新stick,这样一直到遍历结束,还有最后一步很容易遗漏,就是把stick指向NULL,因为此时stick应该是新链表的尾巴。
这个方法能适用是因为链表是有序的。
ListNode *deleteDuplicates(ListNode *head) {
if (!head) return NULL; ListNode *stick = head, *cursor = head->next;
while (cursor) {
if (cursor->val == stick->val) {
cursor = cursor->next;
continue;
}
else {
stick->next = cursor;
stick = cursor;
}
cursor = cursor->next;
}
stick->next = NULL;
return head;
}
最新文章
- mybatis:Invalid bound statement (not found)
- centos安装mongodb 3.2.9
- Nodejs学习(二)-express生成器
- centos 7.0 PHP 5.6.5 安装过程 (php+nginx)
- BZOJ 1189 [HNOI2007]紧急疏散evacuate
- 泛型容器单元(Generics.Collections)[3]: TStack<;T>; 堆栈列表
- I/O存取方式的形象比喻
- HDU1026 Ignatius and the Princess I
- 转: Android 后台任务型App多进程架构演化
- 判断String为空
- Windows Phone-框架结构和启动过程
- 【 java版坦克大战--绘图技术】 绘制坦克
- 转:CodeCube提供可共享、可运行的代码示例
- nyoj-366-D的小L(求全排列)
- Style绑定
- css 优化
- 安装mysql zip5.7版--安裝
- linux下如何使make只输出执行过程中的命令序列
- 《剑指offer》第五十题(字符流中第一个只出现一次的字符)
- springboot(五):springboot整合shiro-登录认证和权限管理