Reverse Linked List
来源:互联网 发布:分销源码 编辑:程序博客网 时间:2024/05/06 10:53
4-4 Reverse Linked List (20分)
Write a nonrecursive procedure to reverse a singly linked list in O(N) time using constant extra space.
Format of functions:
List Reverse( List L );
where List
is defined as the following:
typedef struct Node *PtrToNode;typedef PtrToNode List;typedef PtrToNode Position;struct Node { ElementType Element; Position Next;};
The function Reverse
is supposed to return the reverse linked list of L
, with a dummy header.
Sample program of judge:
#include <stdio.h>#include <stdlib.h>typedef int ElementType;typedef struct Node *PtrToNode;typedef PtrToNode List;typedef PtrToNode Position;struct Node { ElementType Element; Position Next;};List Read(); /* details omitted */void Print( List L ); /* details omitted */List Reverse( List L );int main(){ List L1, L2; L1 = Read(); L2 = Reverse(L1); Print(L1); Print(L2); return 0;}/* Your function will be put here */
Sample Input:
51 3 4 5 2
Sample Output:
2 5 4 3 1
2 5 4 3 1
//此题同时要把原链表翻转List Reverse( List L ){ List oldlist=L->Next; List newlist; newlist=(struct Node*)malloc(sizeof(struct Node)); newlist->Next=NULL; while(oldlist){ struct Node* temp=oldlist->Next; oldlist->Next=newlist->Next; newlist->Next=oldlist; oldlist=temp; } //翻转原链表 struct Node* tempnew=newlist->Next; struct Node* tempold=L; while(tempnew){ tempold->Next=tempnew; tempold=tempold->Next; tempnew=tempnew->Next; } tempold->Next=NULL; return newlist;}
1 0
- Single linked list reverse
- reverse a linked list
- Reverse a linked list.
- Reverse a linked list
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Session与Cookie的一点总结
- sqlnclient安装
- Longest Substring Without Repeating Characters
- BZOJ 4011 [HNOI2015]落忆枫音
- Raft一致性算法
- Reverse Linked List
- Hash Algorithm 初步 & BZOJ2081 POI2010 Beads
- linux下web环境配置
- 升级Xcode 8 之后,打印的网络日志与访问相机相册权限设置问题
- SmartUpload实现文件上传和下载
- 二叉树——HDU 1805 后缀表达式转前缀表达式
- VS2005 VC++目录路径中宏的定义
- 最长不重复子串
- POI2010 Blocks