LeetCode刷题之路:83. 删除排序链表中的重复元素

如果帮助到您,还请点个关注吧,hahaha

给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。

示例 1:

输入: 1->1->2
输出: 1->2
示例 2:

输入: 1->1->2->3->3
输出: 1->2->3

#最直观的思路
用cur表示当前节点,利用wile循环遍历链表
结束条件为: 遍历完链表,即 cur.next 为空; 头结点 head 可能为空, 则也需要判断 cur 是否为空
遍历过程中:
(1)如果该节点出元素与下一节点元素相同,则删除下一节点: cur.next = cur.next.next;
(2)若不同,则继续遍历;

class Solution:
    def deleteDuplicates(self, head: ListNode) -> ListNode:
        cur = head
        while(cur != None and cur.next != None):
            if cur.val == cur.next.val:
                cur.next = cur.next.next
            else:
                cur = cur.next
        return head

猜你喜欢

转载自blog.csdn.net/as812252319/article/details/112177661