• Leetcode练习(Python):链表类:第83题:删除排序链表中的重复元素:给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。


    题目:
    删除排序链表中的重复元素:给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。
    思路:
    双指针法。
    程序1:暴力法,超时了
    # 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:
            if not head:
                return None
            myNode = head
            while myNode and myNode.next:
                if myNode.val == myNode.next.val:
                    myNode.next = head.next.next
                else:
                    myNode = myNode.next
            return head
    程序2:双指针
    # 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:
            if not head:
                return None
            if not head.next:
                return head
            index1 = head
            index2 = head.next
            while index2:
                if index1.val == index2.val:
                    index2 = index2.next
                elif index1.val != index2.val:
                    index1.next = index2
                    index1 = index1.next
                    index2 = index2.next
            index1.next = None
            return head
  • 相关阅读:
    课程作业四 生成随机数并求和,大数运算
    课程作业三 string,char操作
    课程作业二 类内静态内容(代码块,静态变量),构造函数,非静态代码块执行顺序
    十一作业 java数值范围方面训练
    课程作业一 将字符串型数组里的数字相加
    NABCD需求分析
    人月神话阅读笔记01
    软件工程第五周总结
    清明第三天
    清明第二天安排
  • 原文地址:https://www.cnblogs.com/zhuozige/p/12813371.html
Copyright © 2020-2023  润新知