[Leetcode] 83. Remove Duplicates from Sorted List

Algorithm|2021. 7. 30. 19:12
반응형

Identifying the Problem

오름차순으로 주어진 linked list에서 중복되는 값을 제거한다.

Constraints:

  • 노드 개수 [0, 300].
  • -100 <= Node.val <= 100

Ex ) Input: head = [1,1,2,3,3]
     Output: [1,2,3]

Organizing thoughts

간단하다.

다음 값이 이전 값보다 높은 경우에만 이전 노드를 다음 노드와 연결 시키면 된다.

Sourcecode

struct ListNode* deleteDuplicates(struct ListNode* head){
    int num = -100;
    
struct ListNode answer;
    answer.next = NULL;
struct ListNode * ans = &answer;    
    
    
    
    while(head!=NULL)
    {
            
     if(head->val > num)
     {
     	num = head->val;
         
      	ans->next = head;
     	ans = ans->next;     
     }
            
     if(head->next == NULL&& head->val ==num) ans->next =NULL;
        
        
	head = head->next;
    }

    
    
    return answer.next;
}
반응형

'Algorithm' 카테고리의 다른 글

[Leetcode] 338. Counting Bits  (0) 2021.07.30
[Leetcode] 88. Merge Sorted Array  (0) 2021.07.30
[Leetcode] 152. Maximum Product Subarray  (0) 2021.07.28
[Leetcode] 다시푸는 53. Maximum Subarray  (0) 2021.07.28
[Leetcode] 268. Missing Number  (0) 2021.07.27

댓글()