牛客网 反转链表 JAVA
输入一个链表,反转链表后,输出新链表的表头。
public class Solution {
public ListNode ReverseList(ListNode head) {
if(head == null){
return null;
}
ListNode cur = head;//类似一个指针指向节点
ListNode newHead = null;//新的链表的表头
while(cur != null){//当前节点不为空时,进入循环
//记录旧链表进入指针的下一节点
ListNode temp = cur.next;
//当前指针的下一节点指向新的链表表头
cur.next = newHead;
//新的表头重新给到刚进入新链表的元素
newHead = cur;
//将旧链表记录的新指针节点赋给cur
cur = temp;
}
//返回到新的链表的表头
return newHead;
}
}