反转单向链表(JAVA)

Posted

tags:

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

在微博看到,有人说8个应届毕业生没有人写出o(1)空间复杂度,o(n)时间复杂度的反转单向链表。

(不是我自己想的)

public void reverseList(ListNode head)
{
    ListNode newHead = null;
    while(head != null)
    {
        ListNode next = head.next;
        head.next = newHead;
        newHead = head;
        head = next;
    }
    return newHead;
}

 自己也想了很久,类似于:

  Head -> a ->b

  1.next = a

  Head ->null

  newHead =head

  Head =a

  2.next  = b

  a -> head

  newHead = a

  Head = b

  3.next = null

  b -> a

  newHead = b

  Head = null

  return newHead

  

以上是关于反转单向链表(JAVA)的主要内容,如果未能解决你的问题,请参考以下文章

链表的java实现(单向双向链表,单向链表的反转)

反转单向链表(JAVA)

Java实现单向链表反转

反转链表

Reverse Linked List(反转单向链表)

算法总结之 反转单向和双向链表