程序员面试系列——单链表的反转
来源:互联网 发布:进出口企业的数据 编辑:程序博客网 时间:2024/06/05 14:08
单向链表的反转(或者叫逆置)是经常被问到的考题。建议考前临阵磨枪,强背一波。
代码说明:
void reverse_list(node_t *head)
此函数实现带头结点(也叫表头、哑结点)的单链表的反转。 head
是头结点的地址。
示意图如下:
|head |—>| 1st node|—>|2nd node|—>|… |—>NULL
struct node{ int data; struct node *next;};typedef struct node node_t;void reverse_list(node_t *head){ if((head->next==NULL) || (head->next->next==NULL)) return; node_t *p1; node_t *p2; node_t *p3; p1 = head->next; p2 = p1->next; while(p2) { p3 = p2->next; p2->next = p1; p1 = p2; p2 = p3; } head->next->next = NULL; head->next = p1;}
测试代码略。
阅读全文
0 1
- 程序员面试系列——单链表的反转
- 程序员面试系列——有符号数的溢出
- 程序员面试系列——约瑟夫环
- 程序员面试系列——冒泡排序
- 程序员面试系列——选择排序
- 程序员面试系列——插入排序
- 程序员面试系列——大小端
- 微软面试100题系列---二叉查找树的反转
- 程序员面试100题(算法)之反转单链表(含单向链表的创建和打印)
- 面试算法——4.栈的反转
- 面试100题系列之8单词反转 VS HDU1062——text reverse
- 程序员面试题目总结--链表(3)【单链表反转】
- 面试题目之单链表的反转
- 程序员面试系列——合并排序(递归实现)
- 单链表反转 -面试
- 前端面试常见问题——字符串反转
- 《程序员面试金典》--反转字符串
- 《程序员面试金典》--像素反转
- Java经典算法40例(二十)
- java基础之类和对象
- EMSL基组选择(包含几乎所有元素的基组,含有全电子基组)
- 导入Dagger2遇到的错误
- 整理Cocos2d-x 面试题解
- 程序员面试系列——单链表的反转
- xaml之路一
- 有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位. 提示:用数组完成
- typeof
- Web前端-HeadFirst-笔记-Ch12-h5的视频实现
- Struts2_表单验证(基于XML)
- python 监控键盘长按输入的思路
- 2017金马五校赛 M.风力观测(线段树)
- java数据类型及其类型转换