码迷,mamicode.com
首页 > 其他好文 > 详细

9月10日,美团网2014校招研发笔试哈尔滨站 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,用程序实现

时间:2014-09-17 11:55:42      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   ar   2014   div   sp   log   c   

// reverselink.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"

struct Node{
    int num;
    struct Node*next;
};

typedef struct Node Node;


Node * createLink(){
    Node *head=NULL,*urn,*tail;
    int data;
    cin>>data;
    while(data>0){
        urn=(Node*)malloc(sizeof(Node));
        urn->num=data;
        if(head==NULL)
            tail=head=urn;
        else{
            tail->next=urn;
            tail=tail->next;
        }
        cin>>data;
    }
    if(head!=NULL)
        tail->next=NULL;
    return head;

}

void printNode(Node*head){
    Node *p=head;
    while(p!=NULL){
        cout<<p->num<<" ";
        p=p->next;
    }
    return;
}

int _tmain(int argc, _TCHAR* argv[])
{
    cout<<"Enter the numbers:"<<endl;
    Node *head=createLink();
    int k=2;
    stack<Node*> ss;
    int i;
    Node *la=NULL,*tail=NULL,*lb=head;
    while(lb!=NULL){
        i=0;
        Node *top;
        top=lb;
        while(lb!=NULL&&i<k){
            ss.push(lb);
            lb=lb->next;
            i++;
        }
        if(i==k){
            while(!ss.empty()){
                if(la==NULL)
                    la=tail=ss.top();
                else{
                    tail->next=ss.top();
                    tail=tail->next;
                }
                ss.pop();
            }
            if(lb==NULL)
                tail->next=NULL;
        }
        else{
            tail->next=top;
        }
    }

    head=la;

    printNode(head);
    getchar();
    getchar();
    return 0;
}

 

9月10日,美团网2014校招研发笔试哈尔滨站 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,用程序实现

标签:style   blog   color   ar   2014   div   sp   log   c   

原文地址:http://www.cnblogs.com/593213556wuyubao/p/3976658.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!