输入一个链表,反转链表 输出新的表头
-
package com.java.offer;
-
-
class ListNode{
-
int val;
-
ListNode next;
-
public ListNode(int x){
-
this.val=x;
-
}
-
}
-
//输入一个链表,反转链表 输出新的表头 1->2->3->4->null ---- 4->3->2->1->null
-
//思路:不仅是数字反过来 ->也要反过来链表也要连接起来
-
// 需要定义 当前节点的前一节点 和下一节点 pre next为当前节点的下一节点
-
//定义两个null指针
-
-
public
class Solution08 {
-
public ListNode reverseList(ListNode head){
-
if(head==
null){
-
return
null;
-
}
-
ListNode pre=
null;
-
ListNode next=
null;
-
while(head!=
null){
-
next=head.next;
//next=2;
-
head.next=pre;
//保存完next 2变成pre
-
pre=head;
-
head=next;
-
}
-
return pre;
-
}
-
}