将单向链表逆序
2017-01-16 09:59
197 查看
struct list { struct list *next; int value; }; //head--->p--->q---->r,将q的next指向p;p,q往前移动到q,r struct list* my_reverse(struct list *pList) { struct list *p,*q,*r; if(pList == NULL) return NULL; p = pList; q = p->next; while(q) { r = q->next; q->next = p; p = q; q = r; } pList->next = NULL; pList = p; return pList; }递归方式
struct list* listReverse(struct list *head) { if(!head || !head->next) return head; struct list *res = listReverse(head->next); head->next->next = head; head->next = NULL; return res; }
相关文章推荐
- 关于单向链表的逆序
- 单向链表的基本操作及逆序实现
- 将一个单向链表逆序
- 2016年12月21日学习总结----单向循环链表操作程序(头插,尾插,中间插入,删除,逆序)
- 最简洁的单向链表逆序
- 字节按位逆序以及单向链表逆序
- 单向链表逆序
- 两种方法实现单向链表的创建、遍历、删除、查找、逆序输出(循环法和递归法)
- 单向链表新增逆序
- 《C算法》读书笔记(5):单向链表逆序
- 已知单向链表的头结点head,写一个函数把这个链表逆序 ( Intel)
- 数据结构:单向链表的逆序
- 单向链表每k个数逆序拼接
- 单向链表逆序问题
- 单向链表逆序 图解
- 华为机试题(8)--单向链表的建立,反转(逆序),遍历显示,删除
- 【数据结构练习】单向链表实现、链表逆序实现
- 单向链表逆序输出
- 算法-单向链表逆序
- 算法题18 逆序(字符串、整数、单向链表)