反转一个单链表。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode reverseList(ListNode head) {
ListNode result = null;//存放已经处理的节点
while(head != null){
ListNode temp = head.next;//先把当前节点的下一个节点给存起来
head.next = result;//当前节点的下一个节点指向为已经处理的节点链表,即将该节点指向它的上一个节点
result = head;//让头指针指向当前已经处理的节点
head = temp;//将当前指针指向下一个节点
}
return result;
}
}
网友评论