class ListNode{
int val;
ListNode next;
ListNode() {}
ListNode(int val){
this.val = val;
}
ListNode(int val, ListNode next){
this.val = val;
this.next = next;
}
}
public class ReverseList {
public static void main(String[] args) {
ListNode head = new ListNode();
ListNode node1 = new ListNode(1);
ListNode node2 = new ListNode(2);
ListNode node3 = new ListNode(3);
ListNode node4 = new ListNode(4);
ListNode node5 = new ListNode(5);
head.next=node1;
node1.next=node2;
node2.next=node3;
node3.next=node4;
node4.next=node5;
ListNode res = reverseList(head);
while(res.next!=null){
System.out.print(res.val+"-->");
res = res.next;
}
System.out.println(res.val);
}
public static ListNode reverseList(ListNode head){
ListNode pre = null;//作为头结点的前驱结点
ListNode cur = head;//当前节点从头结点开始
while (cur!=null){
//先存储后一个节点
ListNode temp = cur.next;
//反转
cur.next = pre;
//前驱更改为当前节点
pre = cur;
//当前节点更改为下一个节点
cur = temp;
}
return pre;
}
}
0630反转链表
最新推荐文章于 2024-06-11 17:46:12 发布