链表(6)----查找链表中间节点
来源:互联网 发布:月工资算法公式 编辑:程序博客网 时间:2024/05/22 20:29
1、链表定义
typedef struct ListElement_t_ { void *data; struct ListElement_t_ *next;} ListElement_t;typedef struct List_t_{ int size; int capacity; ListElement_t *head; ListElement_t *tail;} List_t;
2、查找链表中间节点,设置快慢指针,快指针一次走两步,慢指针一次走一步
void *SearchMidNode( List_t *list){ if ( list == NULL || list->head == NULL ) return NULL; ListElement_t *pFast = list->head; ListElement_t *pSlow = list->head;//若节点为N个, N为奇数,则返回第N/2 +1个节点, N为偶数,则返回第N/2个节点 while( pFast->next != NULL && pFast->next->next != NULL){ pFast = pFast->next->next; pSlow = pSlow->next; } return pSlow->data;}
其他相关题目下面以超链接形式给出:
链表面试题合集
1、单链表基本操作
2、双链表基本操作
3、循环单链表基本操作
4、反转单链表
5、查找单链表倒数第K个节点
6、倒序打印链表
7、查找链表中间节点
8、删除链表第K个节点,平均时间复杂度为O(1)
9、判断链表是否有环
10、判断两个单链表是否相交
11、求相交链表的第一个相交节点
12、判断是否有环,并判定是6型环还是0型环
13、判断链表是否有环,并求环入口节点
14、合并两个有序单链表
15、给定链表中间某节点,不遍历链表,将带插入节点插入给定节点之前
16、删除链表重复元素
1 0
- 链表(6)----查找链表中间节点
- 查找链表中间节点
- 查找链表的中间节点
- 查找链表中的中间节点
- 查找链表的中间节点
- C++ 算法之 查找链表中间节点
- [LeetCode-234] Palindrome Linked List(回文链表、链表中间节点查找)
- 链表面试题之快慢指针问题(一) 查找链表中间节点
- 链表面试题(四)---查找链表的中间节点
- 查找单链表的中间节点,要求只能遍历一次链表(C语言)
- 查找单链表中间节点
- 查找单链表中间节点
- 查找中间节点
- 数据结构之链表面试题汇总(一)--查找单向链表的中间节点、倒数第K个节点
- 【C语言】查找链表的中间节点及倒数第K个节点
- 链表面试题(二):冒泡排序、合并两个有序链表、查找中间节点、查找倒数K个节点
- Java实现查找链表的中间节点,(在未知链表长度的情况下)
- 删除链表中间节点
- Cocos2d-x教程(19)-cocos2d-x.xcodeproj-2.2.x版本对cocos2dx文件的引用以及Cocos2d-x 2.2.0版本后项目拷贝出来无法运行的原因
- 用libcurl完成post请求
- php面向对象中的单例与静态方法的对比,以及关于class自动加载的分析
- 一些典型的测试方面的误解
- Android 开源框架Universal-Image-Loader完全解析(三)---源代码解读
- 链表(6)----查找链表中间节点
- Android 外网连接解决方案
- 运行编译完的镜像
- Java类初始化代码中的异常Exception控制策略
- Flash 数组的用法(一)
- struts框架token摘录笔记
- 如何使用json在前后台进行数据传输
- 微信公众平台获取用户信息
- 如何从零开始学习JavaEE