递归反序链表
来源:互联网 发布:学汉语软件 编辑:程序博客网 时间:2024/06/03 21:37
//不太喜欢递归的方式去实现, 总觉得不如非递归安全.
//递归反序链表
int *p[10]; //包含指针的数组int (*p)[10]; //指向数组的指针p[0]居然是一个数组int[10], 着实难以理解struct stNode{ stNode(int n){ nValue = n; pNext=NULL; } int nValue; stNode* pNext;};//非递归stNode* Reverse1(stNode* pN){ if(pN == NULL|| pN->pNext == NULL){ return pN; } stNode* pPre = pN; pN = pN->pNext; stNode* pNext = pN->pNext; pPre->pNext = NULL; while(pN->pNext != NULL){ pN->pNext = pPre; pPre = pN; pN = pNext; pNext = pN->pNext; } pN->pNext = pPre; return pN;}//递归stNode* Reverse2(stNode* pN){ static stNode* pHead = pN; static stNode* pNewHead = NULL; if(pN==NULL){ ; }else if(pN->pNext==NULL){ pNewHead = pN; }else{ stNode* pNew = Reverse(pN->pNext); pNew->pNext = pN; } if(pN == pHead){ pHead->pNext = NULL; return pNewHead; } return pN;}int main() { stNode* pHead = new stNode(1); pHead->pNext = new stNode(2); pHead->pNext->pNext = new stNode(3); pHead->pNext->pNext->pNext = new stNode(4); stNode* pResult = Reverse2(pHead); return 0;}
阅读全文
0 0
- 递归反序链表
- 链表反序的递归算法
- 采用递归法对单向链表进行反序
- 剑指offer面试题5(链表反序输出 用递归或者栈)
- 一个数组反序递归,
- 链表反序算法
- 链表反序
- 反序单向链表
- 反序链表
- 链表反序
- 链表反序
- 链表反序 排列
- 递归算法反序输出字符串
- 单向链表的反序
- 【基础知识】:链表反序打印
- 以递归方式反序输出一个字符串
- 递归、序列化和反序列化
- 字符串反序函数的递归与非递归解法
- 欢迎使用CSDN-markdown编辑器
- Advanced Installer 数据库连接字段参数和返回参数
- erlang 读取utf-8 BOM 问题
- 内容提供器的使用
- React学习笔记_redux二
- 递归反序链表
- windows下 查看golang gc 信息!!
- 用批处理压缩文件
- kudu1.5.0新特性和修复Bug
- @RequestBody,@ResponseBody的用法 和理解
- 50个php技巧
- Java虚拟机第二章2.2 学习笔记
- PHP通过循环来检测四维数组中的值是否存在数组中
- ScrollView嵌套ListView的问题