206. Reverse Linked List
206. Reverse Linked List
题目
Reverse a singly linked list.
Example:
Input: 1->2->3->4->5->NULL
Output: 5->4->3->2->1->NULL
Follow up:
A linked list can be reversed either iteratively or recursively. Could you implement both?
思路
新建一个表头,通过循环依次反转链表指针方向就好。 1->2->3->4->5->NULL
变成 NULL<-1<-2<-3<-4<-5
代码
1 | ListNode* reverseList(ListNode* head) { |
之前一直写错成这样是不对的,cur
指向head
的地址,改变了cur->next
的值相当于改变了head->next
的值,这样写结果只会返回链表第一个值:
1 | //C++ |