剑指offer(17):反转链表
2016-04-26 10:26
381 查看
题目描述
输入一个链表,反转链表后,输出链表的所有元素。
分析
正确的反转链表,需要调整好链表指针的方向。主要注意3个问题:
空指针
反转后的链表出现断裂
反转后的头结点是原链表的尾节点
牛客AC代码:
参考
1. 何海涛,剑指offer名企面试官精讲典型编程题(纪念版),电子工业出版社
输入一个链表,反转链表后,输出链表的所有元素。
分析
正确的反转链表,需要调整好链表指针的方向。主要注意3个问题:
空指针
反转后的链表出现断裂
反转后的头结点是原链表的尾节点
牛客AC代码:
/** * 输入一个链表,反转链表后,返回反转链表后的头结点 * * 问题处理: * 1、空指针 * 2、反转后的链表出现断裂 * 3、反转后的头结点是原链表的尾节点 * @param head * @return */ public ListNode ReverseList(ListNode head) { if(head == null) return null; ListNode pReversedHead = null; // 反转后头结点 ListNode pNode = head; // 当前节点 ListNode pPrev = null; // 前一个节点 while(pNode != null) { // 下一个节点 ListNode pNext = pNode.next; // pNext为空,到达尾节点,返回当前节点 if(pNext == null) { pReversedHead = pNode; } // 实现反转,当前节点指向前一个节点 pNode.next = pPrev; // 往后遍历 pPrev = pNode; pNode = pNext; } return pReversedHead; }
参考
1. 何海涛,剑指offer名企面试官精讲典型编程题(纪念版),电子工业出版社
相关文章推荐
- jquery easy UI + Spring MVC(注解) 完成文件上传操作
- 魅族手机遇到修改Toast样式BUG
- JavaScript 装逼指南
- 剑指offer(16):链表中倒数第k个节点
- 通过访问第三方URL返回json数据
- GSON之JSON解析步骤
- H5知识点大总结勾起你的欲望
- 剑指offer 最小的K个数
- d3.js——绘制力学图
- HTML&CSS基础
- Angularjs基础(九)
- H5知识点大总结勾起你的欲望
- Javascript 获取url参数,hash值 ,cookie
- 环状图chart.js
- node.js小结
- Jquery - ajax url路径问题
- css3 boxing-sizing属性
- 【转载】CSS font关键字属性值的简单研究
- 未能加载文件或程序集“Newtonsoft.Json”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)
- Eclipse中jsp,html代码自动排版太丑怎么办?!改改就好了!