[LeetCode 연습문제] Remove Duplicates from Sorted List II
4895 단어 LeetCode
Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.
For example,Given
1->2->3->3->4->4->5
, return 1->2->5
.Given 1->1->1->2->3
, return 2->3
. 제목:
주어진 체인 테이블에 나타나는 중복된 요소는 하나도 남기지 않고 삭제해야 한다!!!
문제 해결 방법:
이 문제는 매우 간단하다. LeetCode에 또 하나의 문제가 있다. Remove Duplicates from Sorted List. 이것은 그의 업그레이드 버전이다. 두 가지 사고방식은 모두 차이가 많지 않다.
하나의 p와del지침을 사용하면 p는 체인표를 훑어보고 중복원소를 발견하고del는 중복원소를 가리키는 노드를 가리키며 그들을 삭제한다.
첫 번째 노드를 처리하는 데 편리하도록dummy 노드를 추가했습니다.
코드는 다음과 같습니다.
1 class Solution {
2 public:
3 bool judgeDuplicates(ListNode *p){
4 if(p->next == NULL)
5 return false;
6 return (p->val == p->next->val);
7 }
8
9 ListNode *deleteDuplicates(ListNode *head) {
10 if(head == NULL)
11 return NULL;
12 ListNode *dummy = new ListNode(0);
13 dummy->next = head;
14 ListNode *p = dummy,*del = NULL;
15
16 while(p->next != NULL){
17 if(judgeDuplicates(p->next)){
18 int val =p->next->val;
19 while(p->next != NULL && p->next->val == val){
20 del = p->next;
21 p->next = del->next;
22 delete del;
23 }
24 }
25 else{
26 p = p->next;
27 }
28 }
29
30 del = dummy;
31 dummy = dummy->next;
32 delete del;
33 return dummy;
34 }
35 };
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
python 문자열 입력으로 모든 유효한 IP 주소 생성(LeetCode 93번 문제)이 문제의 공식 난이도는 Medium으로 좋아요 1296, 반대 505, 통과율 35.4%를 눌렀다.각 항목의 지표로 말하자면 보기에는 약간 규범에 맞는 것 같지만, 실제로도 확실히 그렇다.이 문제의 해법과 의도는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.