题解 | #反转链表#
反转链表
https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca
private static ListNode rev(ListNode head){
ListNode pre = null;
ListNode cur = head;
while (cur != null){
ListNode temp = cur.next;
cur.next = pre;
pre = cur;
cur = temp;
}
return pre;
}
主要思路是:pre作为新的链表存储数据,cur是指向当前链表数据
2.链表反转,指针方向发生改变,由尾部节点指向null,改为头部节点指向null,内部其他指针方向都改变
3.cur.next = pre;第一个节点指向null值
4. pre = cur; 头节点后移动
5. cur = temp; temp是保存未处理的数据,赋值给cur
