리스트의 중복된 값을 제외하여 다시 반환하기
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode* deleteDuplicates(struct ListNode* head){
struct ListNode* newList = head;
while(newList != NULL && newList->next != NULL) {
if(newList->val == newList->next->val) {
newList->next = newList->next->next;
} else {
newList = newList->next;
}
}
return head;
}
return이 왜 head인 지... 왜 newList를 쓰면 안 되는 지...
근데 newList를 쓰면 안 되는 이유는 일단 납득은 했는데 ... 왜 head일까?
newList에서 작업을 했는데, 어째서 그 작업의 변화가 head에도 반영이 된 걸까?... 나는 공부를 다시 해야되나보다...에혀혀