public ListNode reverseList() {
ListNode prev = null;
ListNode newHead = null;
ListNode cur = this.head;
while(cur != null) {
ListNode curNext = cur.next;
if(curNext == null) {
newHead = cur;
}
cur.next = prev;
prev = cur;
cur = curNext;
}
return newHead;
}
分析:
1、首先我们要定义四个变量,prev, cur, curNext, newHead
2、我们要明白如何将每一个节点的next指向的是前一个节点的地址
3、链表的最后一个节点的next必须为空,所以我们在这里定义变量的时候,给prev赋初值为null