题目描述:反转一个单链表
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
解题思路:
遍历单链表,然后定义一个前驱节点,将要反转的节点的前一个节点记录下来,然后将要反转的节点的next指向前驱节点即可。
源代码:
public ListNode reverseList(ListNode head) {
//前驱节点
ListNode prev = null;
ListNode cur = head;
while(cur != null){
ListNode curNext = cur.next;
//反转
cur.next = prev;
//下一个节点
prev = cur;
cur = curNext;
}
return prev;
}