(LeetCode 83)Remove Duplicates from Sorted Lists
LeetCode from remove sorted 83 lists Duplicates
2023-09-14 09:00:36 时间
Given a sorted linked list, delete all duplicates such that each element appear only once.
For example,
Given 1->1->2
, return 1->2
.
Given 1->1->2->3->3
, return 1->2->3
.
题目要求:
给一有序链表,删除重复的结点,使得每个元素只出现一次。
解题思路:
1、从头到尾遍历链表,如果前后两个结点相同,则将第一个结点指向它的下下结点,并删除它的下个结点。
2、递归思想。
代码:
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode *deleteDuplicates(ListNode *head) { ListNode *lst=head; ListNode *del; while(lst && lst->next){ if(lst->val==lst->next->val){ del=lst->next; lst->next=lst->next->next; delete(del); } else lst=lst->next; } return head; } };
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode *deleteDuplicates(ListNode *head) { if(head==NULL || head->next==NULL) return head; if(head->val==head->next->val) head=deleteDuplicates(head->next); else head->next=deleteDuplicates(head->next); return head; } };
相关文章
- Java实现 LeetCode 793 阶乘函数后K个零 (分析)
- Java实现 LeetCode 367 有效的完全平方数
- Java实现 LeetCode 241 为运算表达式设计优先级
- Java实现 LeetCode 84 柱状图中最大得矩形
- Python 刷Leetcode题库,顺带学英语单词(15)
- Python 刷Leetcode题库,顺带学英语单词(13)
- Leetcode概率题面试突击系列11~15
- LeetCode - 53 最大子数组和
- Leetcode 1328. 破坏回文串(可以,已解决)
- [LeetCode] 347. 前 K 个高频元素 ☆☆☆(堆排序)
- [LeetCode] 80. Remove Duplicates from Sorted Array II ☆☆☆(从有序数组中删除重复项之二)
- leetCode 26.Remove Duplicates from Sorted Array(删除数组反复点) 解题思路和方法
- leetcode 26. Remove Duplicates from Sorted Array
- leetcode 606. Construct String from Binary Tree
- 【Leetcode刷题Python】75. 颜色分类
- 【Leetcode刷题Python】剑指 Offer II 082. 含有重复元素集合的组合