剑指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.反转链表的主要内容,如果未能解决你的问题,请参考以下文章