输入一个链表,反转链表 输出新的表头
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;
}
}