单链表在不知道链表长度的前提下求链表中间节点【待补充】

单链表在不知道链表长度的前提下求链表中间节点的值。

思路:

分以下几种情况:

1) 链表为空;

2) 链表非空,但仅有一个或两个节点;可以直接返回第一个节点的元素值。

3) 链表非空,但含有三个或三个以上的节点,可以通过定义两个指针,一个指针的跳步为2次的时候,另一个指针的跳步为1次,当跳至结尾时,另一个节点恰好在中间位置

具体程序中考虑了长度为奇偶时应该怎么做?

将循环条件

while(head->next!=NULL && head->next->next!=NULL)

改为

while(head->next!=NULL )

 

posted @ 2013-07-23 16:27  sunnie_  阅读(382)  评论(0编辑  收藏  举报