/*
链表包含 val和 下一个的地址指向
简写的javabean
public class ListNode {
int val; //值
ListNode next = null; //下一个
ListNode(int val) {
this.val = val;
}
}*/
public class Solution {
public ListNode ReverseList(ListNode head) {
ListNode pre=null; //声明一个变量 pre 并初始化为 null,用来保存反转后的链表的头结点。
ListNode next=null;//声明一个变量 next 并初始化为 null,用来保存当前节点的下一个节点。
while(head!=null){ //循环迭代链表,直到 head 变为 null,即遍历完整个链表
next=head.next; //将当前的指向下一个的地址赋值给next
head.next=pre;//将当前节点的指针指向前一个节点 pre,完成反转。
pre=head;//更新 pre 为当前节点,用来保存当前节点作为下一个节点的前一个节点
head=next;
}
return pre; //返回反转后的链表的头结点,即 pre
}
}
算法-反转链表(java)
最新推荐文章于 2024-05-01 11:38:40 发布