diff options
Diffstat (limited to '0083/main.c')
| -rw-r--r-- | 0083/main.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/0083/main.c b/0083/main.c new file mode 100644 index 0000000..1309a54 --- /dev/null +++ b/0083/main.c @@ -0,0 +1,35 @@ +#include <stdlib.h> + +struct ListNode { + int val; + struct ListNode *next; +}; + +// begin + +/** + * Definition for singly-linked list. + * struct ListNode { + * int val; + * struct ListNode *next; + * }; + */ + +struct ListNode* deleteDuplicates(struct ListNode* head) { + if (head == NULL) { + return head; + } + struct ListNode *prev = head; + struct ListNode *node = head->next; + while (node != NULL) { + if (node->val == prev->val) { + struct ListNode *next = node->next; + prev->next = next; + node = next; + } else { + node = node->next; + prev = prev->next; + } + } + return head; +}
\ No newline at end of file |
