每天一道算法题(16)——翻转链表
2015-06-26 15:41
99 查看
题目:
反转单向链表。如1---->2---->3为3--->2----->1思路:
使用两个临时指针,依次反转。代码:
struct ListNode { int m_nKey; ListNode* next; }; ListNode* DeleteNode(ListNode* pListHead) { if(!pListHead ||! pListHead->next ) return pListHead; ListNode* preNode=NULL; ListNode* nextNode=NULL; ListNode* currentNode=pListHead; while(!currentNode){ nextNode=currentNode->next;//保存下一节点 currentNode->next=preNode; preNode=currentNode; currentNode=nextNode; } return preNode; }
注意当为单个节点或者是为空的情况
相关文章推荐
- [转]oracle 10g数据泵之impdp-同时导入多个文件
- JavaScript中的test()方法
- 几张图看懂列式存储
- HTML5的 input:file上传类型控制
- django数据库中的时间格式与页面渲染出来的时间格式不一致的处理
- Uva - 11536 - Smallest Sub-Array
- cocos2dx适配方案新解——秒杀所有分辨率
- Uva - 11536 - Smallest Sub-Array
- Qt 之QSpinBox类
- 2014年3I工作室成员的正式名单
- 第1章 游戏之乐——买书问题
- HDFS原理分析
- Linux Mount命令浅解
- thinkphp中模版中的单标签,必须严格遵守w3c标准,在最后加上/
- entity framework学习
- JavaScript实现数组随机排序的方法
- Windows 10正式版就在眼前 最快是下周
- Spring学习(4)---Bean基础
- Android Bitmap内存优化
- Object-C NSTimer定时器使用