微软等数据结构+算法面试100题(3)--怎样把一个链表掉个顺序(也就是反序,注意链表的边界条件并考虑空链表)?

来源:互联网 发布:linux mysql 启动超时 编辑:程序博客网 时间:2024/06/06 02:31

怎样把一个链表掉个顺序(也就是反序,注意链表的边界条件并考虑空链表)

/*6.怎样把一个链表掉个顺序(也就是反序,注意链表的边界条件并考虑空链表)?*/ListNode* ReverseList(ListNode* head){if(head==NULL)return NULL;if(head->next==NULL)return head;ListNode *p=head;ListNode *q=head->next;while(q!=NULL){ListNode *s=q->next;q->next=p;p=q;q=s;}head->next=NULL;return p;}void ReverseListTest(){cout<<"make a list , input values "<<endl;ListNode* head=NULL;MakeList(head);cout<<"the list : ";ShowList(head);cout<<"after reverse : ";head=ReverseList(head);ShowList(head);}


 

原创粉丝点击