代码:
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode* reverseList(struct ListNode* head){
struct ListNode *newhead = NULL,*tmp;
while(head){
tmp = head->next;
head->next = newhead;
newhead = head;
head = tmp;
}
return newhead;
}
思路:
设置newhead来提取head中的第一结点,tmp来指向head的下一个结点,防止提取完结点找不到下一个结点。