LeeCode-Remove Duplicates from Sorted List
7738 단어 remove
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.
3 * struct ListNode {
4 * int val;
5 * struct ListNode *next;
6 * };
7 */
8 struct ListNode* deleteDuplicates(struct ListNode* head)
9 {
10 if(head==NULL)
11 return NULL;
12
13 if(head!=NULL&&head->next==NULL)
14 return head;
15
16
17 if(head->next->next==NULL)
18 {
19 if(head->val==head->next->val)
20 {
21 head->next==NULL;
22 return head->next;
23 }
24
25 if(head->val!=head->next->val)
26 {
27 return head;
28 }
29 }
30
31
32 struct ListNode* p;
33 p=head;
34
35 int count=0;
36 while(p!=NULL)
37 {
38 p=p->next;
39 count++;
40 }
41
42
43 int *array;
44 array=(int *)malloc(count*sizeof(int));
45
46 p=head;
47 int i=0;
48 while(p!=NULL)
49 {
50 array[i]=p->val;
51 i++;
52 p=p->next;
53 }
54
55 p=head;
56 for(i=0;i<count-1;i++)
57 {
58 if(array[i]!=array[i+1])
59 {
60 p->val= array[i];
61 p=p->next;
62 }
63 }
64
65 p->val=array[count-1];
66 p->next=NULL;
67
68 return head;
69 }
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
2-1(2) List<E> remove(int index): 해당 인덱스의 항목을 리스트에서 삭제한다. *위 예시 풀이 - 배열로 구성되어있어서 n번방이 지워지면 앞으로 땡겨져서 전체 삭제가 되지 않는다 list에 index 5개가 있어서 for문안에서 {0,1,2,3,4...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.