aboutsummaryrefslogtreecommitdiff
path: root/delete_middle_node.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'delete_middle_node.cpp')
-rw-r--r--delete_middle_node.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/delete_middle_node.cpp b/delete_middle_node.cpp
new file mode 100644
index 0000000..1493046
--- /dev/null
+++ b/delete_middle_node.cpp
@@ -0,0 +1,16 @@
+#include "leetcode.h"
+
+class Solution {
+public:
+ ListNode *deleteMiddle(ListNode *head) {
+ if (head->next == nullptr)
+ return nullptr;
+ auto slow = head, fast = head->next->next;
+ while (fast != nullptr && fast->next != nullptr) {
+ fast = fast->next->next;
+ slow = slow->next;
+ }
+ slow->next = slow->next->next;
+ return head;
+ }
+};