您的位置:首页 > 职场人生

剑指offer-面试题16-反转链表

2017-01-19 10:53 393 查看

题目描述:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。

题目分析:直接一遍遍历下来,使用尾插法,记录前一个结点

//反转链表
public static ListNode reverseList(ListNode head) {
ListNode reverseListHead = null;//反转后的头结点
ListNode currentListNode = head;//当前结点
ListNode preListNode = null;//前一个结点
while (currentListNode != null) {
ListNode next = currentListNode.next;//先获取下一个结点
reverseListHead = currentListNode;
currentListNode.next = preListNode;//当前结点的下一个指向是原链表的前一个结点
preListNode = currentListNode;//重新设置前一个节点为当前的
currentListNode = next;//当前结点设为下一个,继续遍历
}
return reverseListHead;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  面试题