#include <stdio.h>
#include <stdlib.h>
typedef struct LNode
{
int data;
struct LNode *next;
}LinkList;
int main()
{
int n,i,*data;
LinkList *s,*L,*pre;
scanf("%d",&n);
data=(int *)malloc(sizeof(int)*n);
for(i=0;i<n;++i)
scanf("%d",&data[i]);
L=(LinkList *)malloc(sizeof(LinkList));
L->next=NULL;
for(i=n-1;i>=0;--i)//创建单链表
{
s=(LinkList *)malloc(sizeof(LinkList));
s->data=data[i];
s->next=L->next;
L->next=s;
}
pre=L->next;
while(pre!=NULL&&pre->next!=NULL)//比较当前元素是否和下一个相同
{
if(pre->data==pre->next->data)
{
LinkList *p;
p=pre->next;
pre->next=pre->next->next;
free(p);//删除相同的元素
}
pre=pre->next;
}
pre=L->next;
while(pre!=NULL)//输出
{
printf("%d ",pre->data);
pre=pre->next;
}
pre=L;
LinkList *p=L->next;
while(p!=NULL)//销毁单链表
{
free(pre);
pre=p;
p=pre->next;
}
free(pre);
return 0;
}