summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--0083/main.c35
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