请用java实现以下功能,每一行代码都需要详细注解。给你单链表的头节点 head ,请你反转链表,并返回反转后的链表
时间: 2023-03-14 16:05:37 浏览: 99
算法-单链表遍历及反转(java)(csdn)————程序.pdf
反转单链表的java代码如下:// 定义一个节点类,用于存储每一个节点的信息
class Node {
int val;
Node next;
Node(int x) { val = x; }
}// 定义函数,用于反转链表
public Node reverse(Node head) {
Node pre = null;
Node cur = head;
while (cur != null) {
Node temp = cur.next;
cur.next = pre;
pre = cur;
cur = temp;
}
return pre;
}// 详细注释
/*
* 反转单链表:
* 1、定义一个节点类,用于存储每一个节点的信息
* 2、定义函数,用于反转链表,定义pre指针和cur指针,当cur指针不为空时,循环执行以下操作:
* - 使用temp变量来存储cur.next的值
* - 使用cur.next指向pre指针
* - 更新pre指针指向cur指针
* - 更新cur指针指向temp
* 3、最后返回pre指针指向的节点,即为反转后的链表
*/
阅读全文