剑指Offer之链表中倒数第k个节点(题15)
2016-05-26 21:55
323 查看
1 /**************************************** 2 > File Name:test.c 3 > Author:xiaoxiaohui 4 > mail:1924224891@qq.com 5 > Created Time:2016年05月26日 星期四 19时49分45秒 6 ****************************************/ 7 8 9 //当用一个指针遍历链表不能解决问题时,可以尝试用两个指针来做 10 //一个指针走的快一点,一个指针走的慢一点 11 // 可以简言之为 《快慢指针》 哈哈哈............ 12 13 14 #include<stdio.h> 15 16 17 ListNode* FindNode(ListNode* head, int k) 18 { 19 if(head == NULL || k <= 0) 20 { 21 printf("parameter is error!\n"); 22 return NULL; 23 } 24 25 ListNode* fitst = head; 26 ListNode* second = head; 27 28 for(int i = 0; i < k - 1; i++) 29 { 30 if(first->_next == NULL) 31 { 32 printf("the K is bigger than the list len!\n"); 33 return NULL; 34 } 35 first = first->_next; 36 } 37 38 while(first->_next != NULL) 39 { 40 first = first->_next; 41 second = second->_next; 42 } 43 44 return second; 45 }
相关文章推荐
- [C/C++]反转链表
- C#实现基于链表的内存记事本实例
- C#模拟链表数据结构的实例解析
- C语言实现带头结点的链表的创建、查找、插入、删除操作
- C++利用静态成员或类模板构建链表的方法讲解
- C++实现简单的学生管理系统
- Linux内核链表实现过程
- C++链表倒序实现方法
- C#通过链表实现队列的方法
- C#实现的简单链表类实例
- 找出链表倒数第n个节点元素的二个方法
- Java数据结构之简单链表的定义与实现方法示例
- Java模拟有序链表数据结构的示例
- C语言单循环链表的表示与实现实例详解
- C++实现的链表类实例
- PHP小教程之实现链表
- PHP中模拟链表和链表的基本操作示例
- C语言双向链表的表示与实现实例详解
- js链表操作(实例讲解)
- C语言实现输出链表中倒数第k个节点