LeetCode82----删除排序链表中的重复元素 II
2024-09-03 09:37:21
给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。
示例 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;
}
}
最新文章
- 反应器(Reactor)和主动器(Proactor)
- SQLServer日期格式化
- 如何把一个excel工作薄中N个工作表复制到另一个工作薄中
- Swift中对C语言接口缓存的使用以及数组、字符串转为指针类型的方法
- mysql join详解
- Azure Mobile Services的REST API调用方式和自定义API
- 函数fsp_fill_free_list
- D.xml
- Struts-2.3.24.1官方例子-struts2-blank
- 记个maven无法识别JAVA_HOME的问题 Error: JAVA_HOME is not defined correctly.
- BOW
- Java调用Python脚本
- FZU 1062 洗牌问题
- python django 实现验证码的功能
- Ruby Rose动态壁纸制作记录
- window环境下npm install node-sass报错
- hdu-2043解题报告
- 结合vue展示百度天气接口天气预报
- TCP传输协议
- 日志统计 尺取法【蓝桥杯2018 C/C++ B组】