题目描述:反转单链表。
Example:
Input: 1->2->3->4->5->NULL
Output: 5->4->3->2->1->NULL
class Solution {
public ListNode reverseList(ListNode head) {
ListNode cur = head;
ListNode reverseHead = null; //建立一个新的节点用来存放结果
while(cur != null){ //遍历输入链表,开始处理每一个节点
ListNode Next = cur.next; //先处理头节点cur,所以需要一个指针来存储cur的后继节点
cur.next = reverseHead; //将cur放到新链表头节点的头部
reverseHead = cur; //移动新链表的头指针,让它始终指向新链表头部
cur = Next; //继续处理原链表的节点,即之前指针存放的后继节点,循环往复
}
return reverseHead;
}
}