#include <stdio.h>
//结点类型定义
typedef struct Node
{
int data;
struct Node *next;
}Node,*LinkList; //
 
//主函数
int main()
{
int InitList(LinkList *L);
void CreateFromHead(LinkList L);
LinkList L;   //头指针
InitList(&L);
CreateFromHead(L);
}


//初始化
 int InitList(LinkList *L)
{
*L=(LinkList)malloc(sizeof(Node));
(*L)->next=NULL; 
return 0;                                             
}

//

//用头插法建立单链表
void CreateFromHead(LinkList L)
{
Node *s;
char c;
int flag=1;
while(flag)
{
c=getchar();
if(c!='$')
{
s=(Node*)malloc(sizeof(Node));
s->data=c;
s->next=L->next;
L->next=s;
}
else flag=0;
}
}