zoukankan      html  css  js  c++  java
  • 面试题_反转链表

    题目:输入一个链表的头结点,反转该链表,并返回反转后链表的头结点。代码如下:

    #include<iostream>
    using namespace std;
    struct Node
    {
    int value;
    Node
    * link;
    Node()
    {
    value
    =0;
    link
    =NULL;
    }
    };
    //返回反向链表的头结点
    Node* Reserve(Node * head)
    {
    Node
    * pre,*next;
    pre
    =head;
    head
    =head->link;
    pre
    ->link=NULL;
    while(head!=NULL)
    {
    next
    =head->link;
    head
    ->link=pre;
    pre
    =head;
    head
    =next;
    }
    return pre;
    }

    int main()
    {
    Node
    *head = new Node;
    Node
    *tail=head;
    //生成10个结点元素
    for(int i=0;i<10;i++)
    {
    Node
    * newNode= new Node;
    newNode
    ->value=i+1;
    tail
    ->link=newNode;
    tail
    =newNode;
    }
    //正向遍历链表
    Node * interator = head;
    while(interator!=NULL)
    {
    cout
    <<interator->value<<endl;
    interator
    =interator->link;
    }
    //将链表反向
    interator=Reserve(head);
    while(interator!=NULL)
    {
    cout
    <<interator->value<<endl;
    interator
    =interator->link;
    }
    //堆区内存清理
    while(head!=NULL)
    {
    Node
    * next=head->link;
    delete head;
    head
    =next;
    }
    return 0;
    }
  • 相关阅读:
    Git(五)
    python字符串驻留(intern)机制
    JavaMail接、收邮件
    easyui Tooltip 气泡信息提示
    ligerui ligerTip气泡提示信息
    DES加密
    解决在IE下label中IMG图片无法选中radio的几个方法
    浏览器获取ip地址
    小王子
    jquery 分页
  • 原文地址:https://www.cnblogs.com/coser/p/1978466.html
Copyright © 2011-2022 走看看