15.反转链表 Java

题目描述

输入一个链表,反转链表后,输出新链表的表头。

思路

本题的关键就是在于对next域的赋值,同时对下一个节点进行保存,然后对把下一个节点赋给新的节点,这样依次循环完所有的节点。每次使新插入的节点变成头第一个有效节点。

 

public ListNode ReverseList(ListNode head) {

if (head == null) {
return null;
}

ListNode pre = null;
ListNode next = null;

while (head != null) {
pre = head;
next = head.next;
next.next = pre;
head = next;
}

return pre;
}
posted @ 2019-03-14 17:04  飞晨信息  阅读(182)  评论(0编辑  收藏  举报