LeetCode【206】Reverse Linked List
Reverse a singly linked list.
比较简单,可就是如此简单,面试官让我写,我居然写错了。主要是想错了。直接上AC代码。
ListNode* reverseList(ListNode* head) { if(head == NULL) return NULL; ListNode *wait = head->next; ListNode *wait_next = NULL; head->next= NULL; for(;wait!=NULL;) { wait_next = wait->next; wait->next = head; head = wait; wait = wait_next; } return head; }
发现写的略复杂,改了下,简单了不少。把当前节点拿过来作为已经翻转结果的表头。
ListNode* reverseList(ListNode* head) { ListNode* res=NULL; while(head) { ListNode *tmp= head->next; head->next = res; res = head; head = tmp; } return res; }优质内容筛选与推荐>>