逆序链表--递归思路
2019独角兽企业重金招聘Python工程师标准>>>
今天同学问的问题,猛然一想,还不太容易想到,记录下吧。。。
#include <iostream>using namespace std;struct ListNode{int m_nKey;ListNode* m_pNext;
};bool creatList(ListNode *&head,int *index,int length){if(length<0){return false;}ListNode *pPre = head;for(int i = 0 ; i < length ; ++i){ListNode *pNewListNode = new ListNode;pNewListNode->m_nKey = index[i];pNewListNode->m_pNext = NULL;pPre->m_pNext = pNewListNode;pPre = pNewListNode;}return true;
}ListNode * re(ListNode *pCurrent,ListNode *&head){//递归逆序链表if(pCurrent->m_pNext == NULL){head = pCurrent;return pCurrent;}ListNode * pTemp = re(pCurrent->m_pNext,head);pTemp->m_pNext = pCurrent;return pCurrent;
}void disPlay(ListNode *head){while(head != NULL){cout << head->m_nKey << " ";head = head->m_pNext;}cout << endl;
}int main(){int index[5] = {1,2,3,4,5};ListNode* pHead = new ListNode;ListNode* pLast;creatList(pHead,index,5);re(pHead->m_pNext,pHead->m_pNext)->m_pNext = NULL;disPlay(pHead->m_pNext);system("pause");return 1;
}
转载于:https://my.oschina.net/dapengking/blog/118104
逆序链表--递归思路相关推荐
- 大厂面试算法系列-如何实现链表的逆序(二)-递归法
导语 接着上次的内容,上次博客中展示了原地进行单链表的逆序操作,当然除了原地逆序还可以通过递归的方式进行调用操作.下面就来看看通过递归的方式如何进行单链表的逆序操作. 递归法逆序链表 假定原来 ...
- 字符串逆序(递归实现)
目录 一.代码实现: 二.代码逐步实现过程: 1.不用递归用循环方式实现: 1.使用库函数: 2.不使用库函数: (1)使用参数是数组的形式: (2)使用参数是指针的形式: 2.用递归形式实现: 三. ...
- 链表的各种操作实现 链表逆序 链表排序 有序链表归并 链表存在环的判定
链表的各种操作实现 链表逆序 链表排序 有序链表归并 链表存在环的判定 链表基本操作实现 c语言版本, 该程序在visual c++ 6.0上调试通过! 本人写该程序完全是为学习交流之用,还望大家多多 ...
- 链表逆序 递归 java_将链表逆序(递归方式)
namespace ShopEx.CRS.Test { /// ///将链表逆序 /// public class ReverseLinkList { //入口 public static void ...
- c语言递归链表逆序,链表逆序的递归实现
链表逆序是个很基础的算法,考察的是指针操作和基本数据结构.常规的写法当然是OK的,不过要是还会写出一个递归的链表逆序算法,那别人肯定要给你点个赞了. 1 问题描述 给定一个链表,请将其逆序.即如果链表 ...
- 学习笔记——C语言实现单链表的基本操作:创建、输出、插入结点、删除结点、逆序链表
*************************************************** 更多精彩,欢迎进入:http://shop115376623.taobao.com ****** ...
- 逆序链表从m到n位置
目录 1 逆置整个链表 2 逆置一个链表的m到n位的元素,返回逆置后的头结点 核心步骤 1.如何找到逆置段的开始和结束位置? 2.几个关键位置 3.如何连接逆置后的逆置段 分类讨论 逆置段是否包括逆置 ...
- Leetcode-148-排序链表(递归+迭代)
问题描述: 思路: 拿之前那道"对链表插入排序"的代码可以直接通过,但是不符合题目的要求:时间复杂度控制在O(nlogn),插入排序时间复杂度在o(n^2),又因为此时是对链表不是 ...
- java 链表逆序 递归,java用递归和非递归实现链表逆序
传统的逆序链表方法是使用三个指针来记录节点的状态,防止链表断裂. Node节点 public class Node { private int data; private Node next; pub ...
最新文章
- 百变应用场景下,优酷基于图执行引擎的算法服务框架筑造之路!
- CCNP路由实验---3、人工汇总EIGRP路由
- 给FlvDownloader加了一个视频预览的功能
- 自动驾驶「无视」障碍物:百度研究人员攻陷激光雷达
- ubuntu android设备 no permissions
- LInux:shell 命令:字符串截取
- visual studio编译linux,在 Visual Studio 中配置 Linux MSBuild C++ 项目
- api php usdt 以太坊_php调用以太坊geth API说明
- HDU 漫步校园 (记忆化搜索)
- 打印html文件都是空白页,我打印时的额外空白页面(IE中除外) – 是我的打印css吗?...
- ISO9001质量管理体系申请条件以及认证流程
- 联想服务器告警信息分析,联想服务器mib分析
- Linux武侠文字游戏,怀旧的文字游戏,文字武侠手游哪个好玩?
- 秦九韶算法——计算方法
- 数字化名词解释—数字化转型
- 标准差(Standard Deviation) 和 标准误差(Standard Error)
- 5年后、10年后,你希望自己是个什么样的人?
- The Fewest Coins (混合背包)
- SQL SERVER 远程主机强迫关闭一个现有连接
- 有幸一睡鸿蒙窍,《嘲鼾睡》原文、译文、翻译、赏析、拼音、作者韩愈-舟山诗词网...
热门文章
- 函数沿某一方向的变化率_多元函数知识点(1)
- gromacs 安装_GROMACS:粗粒化力场建立和模拟上线!
- python 重启电脑_如何在系统重启后恢复Python脚本?
- java中的多对多关系解析_Java中多对多映射关系
- word流程图整体怎么拆分_word流程图-不会做流程图?这三种方法超级简单!
- matlab保存数据save,[转载]matlab中save,load使用方法
- 华为的型号命名规则_iQOO新品入网;三星Galaxy S21首张官方渲染图曝光;华为nova8真机曝光...
- 开源运维管理软件排名_企业运维监控平台架构设计与实现(ganglia篇)
- linux常见的危险命令,Linux上最危险的8个命令
- day02:关于惯性导航工具箱的学习与使用:use of the progen