翻转链表
来源:互联网 发布:北京小学教师工资 知乎 编辑:程序博客网 时间:2024/06/06 05:30
输入一个链表,从头到尾翻转,然后输出翻转后的头结点
需要考虑的问题
如果将链表首先遍历保存在栈中,保存后pop栈同时分配list空间进行保存,这种翻转的方法,要占用O(n)内存,O(n)时间
所以有没有一种可能,遍历一遍并且也能输出,这种方法不会太费空间,时间O(n)
所以就想,如果有j,i,k,三个连续节点,其k节点以前都已经翻转过,现在翻转i节点,如何翻转呢
首先要做的是将i节点的m_pNext 指向j节点,这样一来,原本i的下一个节点k就没有指针指向它,也就不能再继续操作,怎么办呢
最好的方法就是保存三个节点,一个是要处理的节点,一个是要处理节点的前一个节点和要处理节点的后一个节点
保存前一个节点的目的是改变当前节点的下一个节点时要指向它,保存后一个节点是不至于丢指针k
0 0
- 无情链表的创建,,翻转翻转
- 链表翻转程序
- 链表翻转
- 链表翻转
- 链表翻转
- 翻转单向链表
- 翻转链表
- 原地翻转链表
- 链表的翻转
- 链表翻转
- 翻转部分链表
- 链表翻转
- 链表翻转
- c++翻转链表
- 翻转链表
- 链表翻转
- 翻转链表
- 链表翻转
- poj3398 Perfect Service
- linux 中php以及nginx的重启命令
- storyboard学习心得
- NOIP2016 滚粗记
- Java编程思想(第四章)
- 翻转链表
- 并查集详解
- java程序员职业进阶
- 进制转换升级版
- 树与二叉树1.0
- Java 算法设计 多数组排列组合问题
- Collection之Set及其子类HashSet、LinkedHashSet、TreeSet:
- CentOS 6.6编译安装Nginx1.6.2+MySQL5.6.21+PHP5.6.3
- JS HTML DOM