剑指offerJZ15——反转链表。leetcode206.反转链表

Posted 硬盘红了

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offerJZ15——反转链表。leetcode206.反转链表相关的知识,希望对你有一定的参考价值。

反转一个单链表。

示例:

输入: 1->2->3->4->5->NULL

输出: 5->4->3->2->1->NULL

 

解题思路:双指针迭代。(如图head节点当成链表的第一个节点就好了,画的时候想的还不够清楚)

实现代码:

//双指针迭代法
    public ListNode reverseList(ListNode head) {
        ListNode previous = null;
        ListNode current = head;
        while (current != null){
            //记录当前节点的下一个节点
            ListNode temp = current.next;
            //将当前节点指向previous,相等与把当前节点反转
            current.next = previous;
            //分别前进一个节点
            previous = current;
            current = temp;
        }
        //最后previous指向原链表的最后一个节点,反转后的第一个节点
        return previous;
    }

以上是关于剑指offerJZ15——反转链表。leetcode206.反转链表的主要内容,如果未能解决你的问题,请参考以下文章

[LeetCode]剑指 Offer 24. 反转链表

LeetCode(剑指 Offer)- 24. 反转链表

LeetCode(剑指 Offer)- 24. 反转链表

LeetCode Algorithm 剑指 Offer 24. 反转链表

剑指offer JZ6 从尾到头打印链表 Java解法

LeetCode Algorithm 剑指 Offer 24. 反转链表