单向链表反转式,一般要初始化一个新节点 来保存当前反转节点的下一个节点,然后更新当前节点的next指针,指向前一个节点,
最后往后更新前一个节点的指针
class Solution {
public ListNode reverseList(ListNode head) {
ListNode pre = head;//当前节点
ListNode cur = null;//前一个节点
while( pre != null){
ListNode temp = pre.next;//保存下一个节点
pre.next = cur;
cur = pre;//往后更新cur
pre = temp;//往后更新pre
}
return cur;
}
}