给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。
示例
输入:head = [1,1,2,3,3]
输出:[1,2,3]
解析
1)链表结构的问题,本质就是找当前节点和下一个节点的关系问题;
2)删除重复元素,其实就是让下一个节点和当前节点的值不一样;
3)所以只需要在循环中,判断当前节点的值和下一个节点的值是否相等;
4)如果不相等,则当前节点后移,如果相等,则 next 后移即可。
代码示例
def deleteDuplicates(head): cur = head while cur and cur.next != None: if cur.val == cur.next.val: cur.next = cur.next.next else: cur = cur.next return head
执行用时:32 ms, 在所有 Python3 提交中击败了 99.44% 的用户.
本文为 陈华 原创,欢迎转载,但请注明出处:http://ichenhua.cn/read/366
- 下一篇:
- NER项目 P3 拆分训练集和测试集