反转一个单链表。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
解题思路:
struct node {
int value;
node* next;
};
node* reverse(node* head) {
node* new_head = nullptr;
for (; head != nullptr;) {
auto next = head->next;
head->next = new_head;
new_head = head;
head = next;
}
return new_head;
}