您的位置:首页 > 编程语言 > Python开发

leetcode 【 Remove Duplicates from Sorted List 】 python 实现

2014-12-26 14:33 267 查看
题目

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
.

代码

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution:
# @param head, a ListNode
# @return a ListNode
def deleteDuplicates(self, head):
if head is None or head.next is None:
return head

dummyhead = ListNode(0)
dummyhead.next = head
p = dummyhead.next

while p.next is not None:
if p.val == p.next.val:
p.next = p.next.next
else:
p = p.next

return dummyhead.next


思路

设立虚表头dummyhead

遇上val不同的,再执行 p=p.next;否则指针p不动,只是p.next变化。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: