九度OJ 题目1511:从尾到头打印链表

#题目1511:从尾到头打印链表`

**时间限制:**1 秒

**内存限制:**128 兆

**特殊判题:**否

**提交:**4073

**解决:**1255

题目描述输入一个链表,从尾到头打印链表每个节点的值。

输入:

每个输入文件仅包含一组测试样例。
每一组测试案例包含多行,每行一个大于0的整数,代表一个链表的节点。第一行是链表第一个节点的值,依次类推。当输入到-1时代表链表输入完毕。-1本身不属于链表。</dd></dl><dl><dt>输出:</dt><dd>对应每个测试案例,以从尾到头的顺序输出链表每个节点的值,每个值占一行。</dd></dl><dl><dt>样例输入:`

1
2
3
4
5
-1


**样例输出:**
5
4
3
2
1

AC Code:

#include &lt;iostream&gt;
#include &lt;stdio.h&gt;

using namespace std;

struct Node
{
    int value;
    Node* prev;
    Node* next;
};

int main()
{
    int i;
    Node *head;
    Node *prev=NULL;
    Node *p;
    while(scanf("%d",&amp;i)!=EOF)
    {
        if(i==-1)
        {
            break;
        }
        p =new Node();
        p-&gt;value=i;
        p-&gt;prev=prev;
        if(prev!=NULL)
            prev-&gt;next=p;

        prev=p;
    }

    while(1)
    {
        printf("%d\n",p-&gt;value);
        if(p-&gt;prev==NULL)
            break;
        p=p-&gt;prev;
    }
    return 0;
}

/**************************************************************
    Problem: 1511
    User: dkmeteor
    Language: C++
    Result: Accepted
    Time:90 ms
    Memory:4556 kb
****************************************************************/

 

构建了一个双向链表来完成逆序功能
顺便这鸟题目 OJ原标题是 从头到尾……题干里却是从尾到头