反转一个单链表的循环和递归实现
来源:互联网 发布:mac的qq管家不能登陆 编辑:程序博客网 时间:2024/06/07 16:43
// 方法一, 递归实现ListNode* ReverseList(ListNode* pHead){ return ReverseListRecursive(NULL,pHead); }// 返回反转后的头结点ListNode* ReverseListRecursive(ListNode* pPrev, ListNode* pNode){ // 空链表 if (pNode == NULL) { return NULL; } // pNode为原链表的尾节点 if (pNode->m_pNext == NULL) { pNode->m_pNext = pPrev; return pNode; } ListNode* pNext = pNode->m_pNext; pNode->m_pNext = pPrev; return ReverseListRecursive(pNode, pNext);}
// 方法二,循环实现ListNode* ReverseList(ListNode* pHead){ ListNode* pReversedHead = NULL; ListNode* pNode = pHead; ListNode* pPrev = NULL; while(pNode != NULL) { ListNode* pNext = pNode->m_pNext; if(pNext == NULL) pReversedHead = pNode; pNode->m_pNext = pPrev; pPrev = pNode; pNode = pNext; } return pReversedHead;}
阅读全文
0 0
- 反转一个单链表的循环和递归实现
- 反转一个单链表的循环和递归实现
- 单链表反转的循环及递归实现
- 单链表的反转(用循环和递归实现单链表反转)
- 用两种递归思路与循环实现单链表的反转
- 使用单链表反转的递归和非递归实现方式
- 写代码,反转一个单链表,分别以迭代和递归的形式来实现
- 反转一个链表的两种方法:递归和循环
- 带头节点链表的反转 循环和递归 C#实现
- C:单链表的循环和递归实现
- 二叉树的反转,递归实现和非递归实现。
- 反转链表的循环方式和递归方式
- 链表反转的递归和非递归实现方式
- 链表反转的递归和非递归实现方式
- 反转链表的迭代实现和递归实现
- 单链表反转的递归与非递归实现
- n的阶乘,循环和递归实现
- 二分搜索的递归和循环实现
- 中间件
- Redis常用命令-通用key-value操作
- 安装使用Lombok插件
- IntelliJ IDEA 常用快捷键介绍
- 7.基本视觉格式化
- 反转一个单链表的循环和递归实现
- 分布式系统笔记:利用zookeeper实现分布式leader节点选举
- C语言历史简介
- 科大讯飞AIUI和网易云信音视频
- 二进制负数转换成十进制
- 如何在SQLServer中处理每天四亿三千万记录的(数据库大数据处理)
- 关于Linux启动时挂载rootfs的几种方式
- Linux
- CentOS下安装FastDFS