题目
定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
题目链接:反转链表
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
思路
要反转链表,目的就是要使指针指向前驱节点,因此需要保存前驱节点
代码实现
public ListNode reverseList(ListNode head) {
ListNode pre = null;
ListNode cur = head;
while (cur != null) {
ListNode temp=cur.next;
cur.next=pre;
pre=cur;
cur=temp;
}
return pre;
}