剑指offer---15---反转链表

Posted buptyuhanwen

tags:

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

 
 
题意
输入一个链表,反转链表后,输出链表的所有元素。
 
 
分析
反转链表
 
 
 
代码 
/*
public class ListNode {
    int val;
    ListNode next = null;
    ListNode(int val) {
        this.val = val;
    }
}*/
public class Solution {
    public ListNode ReverseList(ListNode head) {
        if(head==null || head.next==null)return head;
        //至少有两个点的时候才能够翻转整个链表
        ListNode first = head;
        ListNode next = head.next;
        first.next = null;
        //保留这么一个状态:first及之前都是修改好的,next指向后面没修改过的。
        //进来先保存next的后面那些部分,将next去指向first
        while(next != null){
            ListNode temp = next.next;
            next.next = first;
            first = next;
            next = temp;
        }
        return first;
    }
}

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

剑指Offer 15. 反转链表 (链表)

反转链表(剑指offer-15)

[剑指Offer] 15.反转链表

剑指offer---15---反转链表

剑指offer15

剑指Offer-反转链表