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

最新文章

  1. mybatis:Invalid bound statement (not found)
  2. centos安装mongodb 3.2.9
  3. Nodejs学习(二)-express生成器
  4. centos 7.0 PHP 5.6.5 安装过程 (php+nginx)
  5. BZOJ 1189 [HNOI2007]紧急疏散evacuate
  6. 泛型容器单元(Generics.Collections)[3]: TStack<T> 堆栈列表
  7. I/O存取方式的形象比喻
  8. HDU1026 Ignatius and the Princess I
  9. 转: Android 后台任务型App多进程架构演化
  10. 判断String为空
  11. Windows Phone-框架结构和启动过程
  12. 【 java版坦克大战--绘图技术】 绘制坦克
  13. 转:CodeCube提供可共享、可运行的代码示例
  14. nyoj-366-D的小L(求全排列)
  15. Style绑定
  16. css 优化
  17. 安装mysql zip5.7版--安裝
  18. linux下如何使make只输出执行过程中的命令序列
  19. 《剑指offer》第五十题(字符流中第一个只出现一次的字符)
  20. springboot(五):springboot整合shiro-登录认证和权限管理

热门文章

  1. net-snmp配置:snmp v3的安全配置
  2. java78_c
  3. .pyc文件是什么?
  4. SQL 执行计划(二)
  5. Python处理JSON数据
  6. ePass1000 Full ActiveX Control Reference Manual Version 2.0
  7. Java for LeetCode 229 Majority Element II
  8. LAMP 之 mysql 安装
  9. C#一维数组
  10. 【hadoop2.6.0】利用JAVA API 实现数据上传