看流星社区

 找回密码
 注册账号
查看: 2015|回复: 0

[算法练习]找到单向链表的中间节点

[复制链接]

该用户从未签到

发表于 2017-6-1 13:32:56 | 显示全部楼层 |阅读模式
一个指针跑2步 一个指针跑一步 当跑2步的指针跑到终点后 另一个指针就跑到中间
  1. typedef struct _NODE
  2. {
  3.         int data;
  4.         struct _NODE *next;
  5. }NODE,*PNODE;
复制代码

  1. PNODE FindCenterLink(PNODE head)
  2. {
  3.     PNODE pMid = head;   
  4.     PNODE pRun = pMid;  
  5.         if( head == NULL )
  6.                 return NULL;
  7.     while( pRun )   
  8.     {   
  9.         pRun = pRun->next;   
  10.         if( pRun != NULL )   
  11.         {   
  12.             pRun = pRun->next;   
  13.             pMid = pMid->next;   
  14.         }   
  15.     }   
  16.     return pMid;
  17. }
复制代码
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-3-29 03:34

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表