单向链表反转的问题

     刚看到一篇文章,http://news.csdn.net/a/20100719/219154.html

     说面试的一道题目是:

把N个元素插入到一个Vector里(或者ArrayList,或其它的你所选择的语言里被称作动态数组的东西)。

 

     我的想法是,创建一个新的单向链表,这个链表插入新数据是在头部,而不是尾部。这样就可以了。

     如Struct   List{

                struct List * next;

                void * data;

     };

 

     Struct   List *head=(struct List *)malloc(sizeof(struct List));

     head->data=NULL;

     head->next=NULL;

     循环,依次读取那个单向链表的值。

          struct List *prevEntry=****;

          if(head->next!=NULL){

                prevEntry->next=head->next;

                head->next=prevEntry;

          }else{

              head->next=prev;

 

         }

 

 

 

     这样从head开始的数据就是反向排列的。 

 

      当然这个方法没有任何优化。仓促写就。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值