【经典面试题】翻转单链表
2011-08-19 09:45
232 查看
翻转单链表是面试中经常出现的现场编程题,但是要用简洁的代码实现也不是那么简单。下面是一个优雅的实现:
struct node* reverse(struct node *head){ struct node *p, *q, *r; p = NULL; q = head; while(q){ r = q->next; q->next = p; p = q; q = r; } return p; }
相关文章推荐
- 经典必背---链表经典笔试面试题
- 【经典算法】:链表翻转
- 九章算法面试题72 翻转链表I
- [经典面试题]在O(1)时间删除链表结点
- 面试题—链表的‘部分’翻转
- 经典的面试题:链表的相交与环问题 (一)
- 经典面试题:Java实现-归并K条已排序的链表及复杂度分析、优化
- 经典面试题——链表从尾到头打印
- 自杀环---约瑟夫环(单链表经典面试题)------>C语言实现
- 35. 翻转链表(reverse-linked-list)(c++)----lintcode面试题之链表
- C/C++经典面试题之判断链表是否有环
- 经典面试题之1:卡牌翻转
- 有关链表的经典面试题(二)
- 面试题—链表的‘部分’翻转
- 李洪强iOS经典面试题34-求两个链表表示的数的和
- leetcode+链表翻转,快慢指针,经典套路
- 面试题:题目: 链表翻转。给出一个链表和一个数k,比如链表1→2→3→4→5→6,k=2,翻转后2→1→4→3→6→5
- 二叉树经典面试题2~将搜索二叉树转化为双向链表
- 有关链表的经典面试题 (一)
- 【单链表经典面试题解析四】用单链表实现约瑟夫环