美团面试算法题
链表翻转。给出一个链表和一个数k,比如链表1→2→3→4→5→6,k=2,则翻转后2→1→4→3→6→5,若k=3,翻转后3→2→1→6→5→4,若k=4,翻转后4→3→2→1→5→6,用程序实现
1.
美团面试算法题
链表翻转。给出一个链表和一个数k,比如链表1→2→3→4→5→6,k=2,则翻转后2→1→4→3→6→5,若k=3,翻转后3→2→1→6→5→4,若k=4,翻转后4→3→2→1→5→6,用程序实现
Node{
data;
*next;
4.};
reverse(Node*head,Node*end){
(head==NULL||end==NULL)return;
*pre=NULL,*cur=head,*stop=end->next;
(cur!=stop){
*nxt=cur->next;
->next=pre;
=cur;
=nxt;
13.}
14.}
15.
*reverseAll(Node*head,int k){
(head==NULL||knext;
(cur==NULL)
;
23.}
(cur==NULL)return head;
*begin=cur->next,*end=begin;
*pre=head;
(head,cur);
28.
(begin!=NULL){
(int i=0;inext;
(end==NULL)
;
34.}
(end==NULL){
->next=begin;
;
38.}
{
*nextbegin=end->next;
链表翻转。给出一个链表和一个数k,比如链表1→2→3→4→5→6,k=2,则翻转后2→1→4→3→6→5,若k=3,翻转后3→2→1→6→5→4,若k=4,翻转后4→3→2→1→5→6,用程序实现
美团面试算法题 来自淘豆网m.daumloan.com转载请标明出处.