
力扣学习笔记——82. 删除排序链表中的重复元素 II
解题思路
运用链表的next和next.next特性,将双指针作为一个指针操作,参考幻灯片,点击后可以使用键盘上下键↕控制:
动图版:
实现代码
class Solution {
public ListNode deleteDuplicates(ListNode head) {
ListNode dummy = new ListNode(0, head);
ListNode cur = dummy;
while (cur.next != null && cur.next.next != null) {
int val = cur.next.val;
if (cur.next.next.val == val && cur.next.next != null)
while (cur.next != null && cur.next.val == val)
cur.next = cur.next.next;
else cur = cur.next;
}
return dummy.next;
}
}
复杂度分析
时间复杂度:
O(n)
空间复杂度:
O(1)
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 zxb
评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果