diff options
Diffstat (limited to 'other/middle_linked_list.cpp')
-rw-r--r-- | other/middle_linked_list.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/other/middle_linked_list.cpp b/other/middle_linked_list.cpp new file mode 100644 index 0000000..ba3a2a0 --- /dev/null +++ b/other/middle_linked_list.cpp @@ -0,0 +1,18 @@ +#include "leetcode.h" + +class Solution { +public: + ListNode *middleNode(ListNode *head) { + ListNode *tmp = head; + int len = 0; + while (tmp) { + len++; + tmp = tmp->next; + } + int mid = len / 2; + tmp = head; + while (tmp && mid--) + tmp = tmp->next; + return tmp; + } +}; |