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