关于链表的两个问题

             -------------------------将一个链表逆序---------------------------

1)首先我们假设这是一个带头节点的链表(头节点:一个链表的开始,并不存储数据,虽然损失了一点点空间,但是给链表操作带来极大的便利);

 

2)将链表一分为二,head和data段(将链表的头砍掉,头与身子各成为独立的链表);

 

3)利用头插法,data段逐节点顺序分解,逐节点重新接到head上即可;

 

  依照上面的逻辑完成…………………

 

 

 

 

 

             -------------------------利用一重循环求链表的中间节点-------------------------

 

  一言以蔽之:申请两个指向链表开始节点的指针,每次循环,第一个指针遍历一个节点,第二个指针遍历两个节点。等到第二指针到达终点时,第一个指针所指向的节点即是中间节点。

   在进行遍历时要注意节点数量奇偶的问题。

 

posted @ 2019-01-06 22:43  小念之歌  阅读(209)  评论(0编辑  收藏  举报