题目描述
输入一个链表,反转链表后,输出新链表的表头
解题思路分析
在反转的时候只要记录下上一个节点就可,直接看代码吧
代码实现
public ListNode reverseList(ListNode head) {
if (head == null || head.next == null) {
return head;
}
ListNode pre = null;//用来记录上一个节点
ListNode node = head;
ListNode reverseHead = null;
while (node != null) {
ListNode next = node.next;
if (next == null) {
reverseHead = node;
}
node.next = pre;
pre = node;
node = next;
}
return reverseHead;
}