高质量的网站建设,网站中点击链接怎么做的,网站不备案,做硅胶的网站【LetMeFly】83.删除排序链表中的重复元素#xff1a;模拟
力扣题目链接#xff1a;https://leetcode.cn/problems/remove-duplicates-from-sorted-list/
给定一个已排序的链表的头 head #xff0c; 删除所有重复的元素#xff0c;使每个元素只出现一次 。返回 已排序的…【LetMeFly】83.删除排序链表中的重复元素模拟
力扣题目链接https://leetcode.cn/problems/remove-duplicates-from-sorted-list/
给定一个已排序的链表的头 head 删除所有重复的元素使每个元素只出现一次 。返回 已排序的链表 。 示例 1 输入head [1,1,2]
输出[1,2]示例 2 输入head [1,1,2,3,3]
输出[1,2,3]提示
链表中节点数目在范围 [0, 300] 内-100 Node.val 100题目数据保证链表已经按升序 排列
方法一模拟
当当前节点和下一个节点都非空时
如果当前节点和下一个节点值相同就删掉下一个节点now-next now-next-next否则当前节点后移now now-next
最终返回传入的头节点即可。
时间复杂度 O ( l e n ( n o d e l i s t ) ) O(len(nodelist)) O(len(nodelist))空间复杂度 O ( 1 ) O(1) O(1)
AC代码
C
class Solution {
public:ListNode* deleteDuplicates(ListNode* head) {ListNode* ans head;while (head head-next) {if (head-val head-next-val) {head-next head-next-next; // havent delete node}else {head head-next;}}return ans;}
};Python
# from typing import Optional# # Definition for singly-linked list.
# class ListNode:
# def __init__(self, val0, nextNone):
# self.val val
# self.next nextclass Solution:def deleteDuplicates(self, head: Optional[ListNode]) - Optional[ListNode]:ans headwhile head and head.next:if head.val head.next.val:head.next head.next.nextelse:head head.nextreturn ans同步发文于CSDN原创不易转载经作者同意后请附上原文链接哦~ Tisfyhttps://letmefly.blog.csdn.net/article/details/135581000