链表翻转递归实现
2014-05-06 13:04
260 查看
递归的实现很简单,但是自己要理解,这个很重要!
总结:
1. 因为只有一个链表的头指针,递归到最后注意返回;
2. 理解递归的思想:分割!
//翻转-递归 Nameval *reverse2(Nameval *pList, Nameval *pPre){ if (pList == NULL){ return pPre; } Nameval *pHead = reverse2(pList->next, pList); pList->next = pPre; return pHead; }
总结:
1. 因为只有一个链表的头指针,递归到最后注意返回;
2. 理解递归的思想:分割!
相关文章推荐
- 链表翻转的图文讲解(递归与迭代两种实现)
- 链表翻转的递归和非递归实现
- <有道笔试题>链表加法的递归实现
- 递归和非递归实现链表反转
- 用递归实现对链表的基本操作
- 递归实现链表的正序和倒序输出
- 一些常用算法[数组全排列算法,单链表反转(递归实现),字符串反转,桶排序]
- 【数据结构】二叉树的翻转递归与非递归实现
- 递归翻转单链表
- 用递归实现链表逆序
- 二叉树的链表实现(递归)
- 链表的归并排序(经典实现:递归)
- 合并两个链表递归和非递归实现
- 链表反转的实现(递归反转链表,非递归反转链表)
- 递归和非递归实现链表反转
- 面试 考虑链表反转的递归实现
- C语言链表基本函数的递归实现
- 从尾到头打印链表(五种方法包括链表翻转、递归、栈、容器逆序)
- 递归实现两个有序链表的合并
- 链表翻转的递归和非递归算法