剑指offer:(16)代码的鲁棒性:反转链表
来源:互联网 发布:淘宝网韩版式斗篷女装 编辑:程序博客网 时间:2024/05/27 12:21
输入一个链表,反转链表后,输出链表的所有元素。
思路:定义三个指针,分别指向当前遍历的节点、它的前一节点及后一节点,为了防止链表断开。
测试用例:
功能测试:
1、输入的链表含有多个节点
2、输入的链表只有一个节点
特殊输入测试:
1、链表头节点为null指针。
package cn.com.jianzhioffer;public class Solution16 {public static class ListNode {int val;ListNode next = null;public ListNode(int val) {this.val = val;}}public static ListNode reverseList(ListNode head){ //head为当前节点,如果当前节点为空的话,那就什么也不做,直接返回null;if(head == null) return null;ListNode prReverseHead = null;ListNode pNode = head;ListNode pPre = null;//做循环,如果当前节点不为空的话,始终执行此循环,此循环的目的就是让当前节点从指向next到指向pPre //如此就可以做到反转链表的效果//先用pNext保存pNode的下一个节点的信息,保证单链表不会因为失去pNode节点的原pNext节点而就此断裂while(pNode!=null){ListNode pNext = pNode.next;if(pNext == null){//已经到了尾部了prReverseHead = pNode;}pNode.next = pPre;pPre = pNode;pNode = pNext;}return prReverseHead;}}
0 0
- 剑指offer 16题 【代码的鲁棒性】反转链表
- 剑指offer:(16)代码的鲁棒性:反转链表
- 剑指offer 3.4 代码的鲁棒性2- 反转链表
- 【剑指offer】3.4代码的鲁棒性——面试题16:反转链表
- 16链表的反转|剑指offer
- 《剑指offer》刷题笔记(代码的鲁棒性):反转链表
- 剑指offer面试题16 反转链表(递归和非递归,主要还是看代码的鲁棒性)
- 剑指offer 16- 反转链表
- 剑指Offer 16 反转链表
- 剑指offer-16:反转链表
- 【剑指offer】题16:反转链表
- 剑指offer面试16 反转链表
- 剑指offer 16 反转链表
- 剑指offer算法题之单链表的反转--面试题16:反转链表
- 剑指offer:反转链表
- 剑指offer--反转链表
- 剑指offer--反转链表
- 剑指Offer-反转链表
- CSU-1531 Jewelry Exhibition —— 二分图匹配(最小覆盖点)
- 2017年java面试问题汇集
- Java解惑学习有感(三)---循环之谜
- POJ 2387 最短路 贝尔曼福特和迪杰斯特拉双解
- 编译opencv自带例子
- 剑指offer:(16)代码的鲁棒性:反转链表
- Android中的View全解析(二)
- Mongodb学习笔记
- 关于Date类型转换成毫秒数会出现误差
- unity3d中水草海草摇动效果顶点动画材质
- Linux网络命令及其其他
- 核范数与规则项参数选择
- js:this
- Sublime+node开发插件设置