删除链表重复元素
给定链表
1 -> 1 -> 3 -> 4
删除1
新链表:
1->3->4
思路, 判断当前节点和next节点的val相等不相等, 如果相等, 跳过下一个节点
curr.next = curr.next.next
class Node:
def __init__(self, x):
self.val = x
self.next = None
def deletdup(phead):
curr = phead
while curr != None and curr.next != None:
if curr.val == curr.next.val:
curr.next = curr.next.next
else:
curr = curr.next
return phead
测试:
node1 = Node(1)
node2 = Node(1)
node3 = Node(3)
node4 = Node(4)
node1.next = node2
node2.next = node3
node3.next = node4
new = deletdup(node1)
new.next.val
3