题目:翻转链表
问题描述:翻转一个链表。如:给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null。
思路:反转指针方向。
代码:
class Solution {
public:
/**
* @param head: The first node of linked list.
* @return: The new head of reversed linked list.
*/
ListNode *reverse(ListNode *head) {
// write your code here
ListNode *prev = NULL;
while (head != NULL) {
ListNode *temp = head->next;
head->next = prev;
prev = head;
head = temp;
}
return prev;
}
};
感想:刚看到题目的时候真的不知道应该怎么写,感觉好难,没想用指针那么简单就写出来了,有时候真的要从不同寻常的方面思考问题啊。