给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。

示例 1:

输入: 1->2->3->3->4->4->5
输出: 1->2->5

示例 2:

输入: 1->1->1->2->3
输出: 2->3 代码如下:
public class MyLeetCode82 {
public static class ListNode {
int val;
ListNode next; ListNode(int x) {
val = x;
}
} public static ListNode deleteDuplicates(ListNode head) {
if (head == null || head.next == null) {
return head;
}
ListNode fakeNode = new ListNode(-1);
ListNode root = fakeNode;
ListNode prev = head;
ListNode cur = head;
while (cur != null && cur.next != null) {
while (cur.next != null && cur.next.val == prev.val) {
cur = cur.next;
}
if (cur == prev) {
// 指针没动过,代表当前第一个就是不重复的
root.next = prev;
root = root.next;
}
prev = cur.next;
cur = cur.next;
}
if (prev == cur && prev != null) {
root.next = cur;
root = root.next;
}
root.next = null;
return fakeNode.next;
}
}

  

 

最新文章

  1. 反应器(Reactor)和主动器(Proactor)
  2. SQLServer日期格式化
  3. 如何把一个excel工作薄中N个工作表复制到另一个工作薄中
  4. Swift中对C语言接口缓存的使用以及数组、字符串转为指针类型的方法
  5. mysql join详解
  6. Azure Mobile Services的REST API调用方式和自定义API
  7. 函数fsp_fill_free_list
  8. D.xml
  9. Struts-2.3.24.1官方例子-struts2-blank
  10. 记个maven无法识别JAVA_HOME的问题 Error: JAVA_HOME is not defined correctly.
  11. BOW
  12. Java调用Python脚本
  13. FZU 1062 洗牌问题
  14. python django 实现验证码的功能
  15. Ruby Rose动态壁纸制作记录
  16. window环境下npm install node-sass报错
  17. hdu-2043解题报告
  18. 结合vue展示百度天气接口天气预报
  19. TCP传输协议
  20. 日志统计 尺取法【蓝桥杯2018 C/C++ B组】

热门文章

  1. js中setTimeout和setInterval的应用方法(转)
  2. ubuntu 16.04下ssh访问提示错误
  3. vue中map组件
  4. 惟一ID生成方法
  5. 使用maven构建dubbo服务的可执行jar包+Dubbo 程序实例
  6. jquery重复绑定
  7. linux添加开机启动项、登陆启动项、定时启动项、关机执行项等的方法
  8. 欧拉函数 || Calculation 2 || HDU 3501
  9. HTML5日期时间输入类型注意事项(time,date)
  10. CentOS 6的系统启动流程