leetcode83 刪除排序鍊錶中的重複元素

2021-09-20 15:21:50 字數 838 閱讀 5791

給定乙個排序鍊錶,刪除所有重複的元素,使得每個元素只出現一次。

示例 1:

輸入: 1->1->2

輸出: 1->2

示例 2:

輸入: 1->1->2->3->3

輸出: 1->2->3

# definition for singly-linked list.

# class listnode:

# def __init__(self, x):

# self.val = x

# self.next = none

class solution:

def deleteduplicates(self, head: listnode) -> listnode:

cur = head

# 當cur不為空

while cur:

re = cur.next

# 當re不為空而且re的值等於cur的值的時候執行迴圈

while re and cur.val == re.val:

#迴圈體中re的值等於cur的值,所以讀取re.next更新re,繼續判斷re的值是否等於cur的值,當不相等的時候退出該迴圈

re = re.next

#退出迴圈體時的re的值不等於cur的值,也就是說cur.next=re,然後更新cur的值,繼續迴圈

cur.next = re

cur = cur.next

# 注意最後return head,因為整個過程相當於對head本身這個linklist的改寫

return head

LeetCode 83 刪除排序鍊錶中的重複元素

給定乙個排序鍊錶,刪除所有重複的元素,使得每個元素只出現一次。definition for singly linked list.struct listnode struct listnode deleteducurrent nodelicates struct listnode head 示例 1...

LeetCode 83 刪除排序鍊錶中的重複元素

題目描述 給定乙個排序鍊錶,刪除所有重複的元素,使得每個元素只出現一次。示例 輸入 1 1 2 輸出 1 2輸入 1 1 2 3 3 輸出 1 2 3解題思路 直接判斷下個節點的val是否與當前節點相同,相同則刪除,不同則將向後移。ac definition for singly linked li...

leetcode83 刪除排序鍊錶中的重複元素

描述 給定乙個排序鍊錶,刪除所有重複的元素,使得每個元素只出現一次。示例 1 輸入 1 1 2輸出 1 2示例 2 輸入 1 1 2 3 3輸出 1 2 3解答 1.直接求解 通過將結點的值與它之後的結點進行比較來確定它是否為重複結點。如果它是重複的,我們更改當前結點的next指標,以便它跳過下乙個...