链表节点逆置(线性表)
时间: 1ms 内存:128M
描述:
设计一个算法,将一个带头节点的数据域依次为a1,a2,…,an(n>=3)的单链表的所有节点逆置,即第一个节点的数据域变为an,……,最后一个节点的数据域变为a1,请尽量采用较优算法,时间复杂度为O(n)最佳!
线性表的定义为
typedef struct Node
{
ElemType data;
struct Node *next;
} SqList;
需编写的算法为
SqList *Deal(SqList *p);
注意:只需提交你所编写的算法
输入:
输入的第一行包含一个整数,代表单链表的长度。接下来的一行是链表每个节点的数据域的值。
输出:
输出包含一行,即逆置节点后链表的每个节点的数值。
示例输入:
10
1 2 3 4 5 6 7 8 9 10
示例输出:
10 9 8 7 6 5 4 3 2 1
提示:
参考答案:
解锁文章
文章评论