HWA_19leetcode83删除链表中的重复元素
题目题解classSolution:defdeleteDuplicates(self,head:Optional[ListNode])-Optional[ListNode]:#从链表的头节点开始访问每一个节点curhead#在访问过程中只要当前节点和当前节点的下一个节点有值就不断地访问下去whilecurandcur.next:# 当前节点和当前节点的下⼀个节点有两种关系# 1、当前节点和当前节点的下⼀个节点相同此时要删除重复元素# 由于链表已经是排序的所以去重操作只需要跳过后⾯这个重复的节点就⾏ifcur.valcur.next.val:# 执⾏这个操作之后cur.next 被跳过去了cur.nextcur.next.next# 2、当前节点和当前节点的下⼀个节点不相同那么 cur 这个节点可以保留下来继续访问后⾯的节点else:#继续访问后面地节点curcur.next# 返回链表的头节点就是结果returnhead图解从链表的头节点开始访问约定符号只要与当前指针指向的值不同那么我们就可以把当前指向的指针往下一个节点访问当前值与下一个值相同则删除该节点
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2504286.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!