题解 | #删除链表中重复的结点#

删除链表中重复的结点

https://www.nowcoder.com/practice/fc533c45b73a41b0b44ccba763f866ef

# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param pHead ListNode类 
# @return ListNode类
#
class Solution:
    def deleteDuplication(self , pHead: ListNode) -> ListNode:
        # write code here
        # 定义一个结点为了最后能返回第一个结点,一个尾结点存值
        dummy = ListNode(-1)
        tail = dummy
        while pHead != None:
            # 如果下一个结点为空或者与下一个结点的值不同,则保留下来
            if pHead.next == None or pHead.next.val != pHead.val:
                tail.next = pHead
                tail = pHead
                 
            while pHead.next != None and pHead.val == pHead.next.val:
                pHead = pHead.next
            pHead = pHead.next
        # 最后结点的下一个结点为None
        tail.next =None
        return dummy.next

#23届找工作求助阵地#
全部评论

相关推荐

04-28 11:34
西北大学 运营
牛客4396号:不好意思,这个照片猛一看像丁真
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务