题目:
Reverse a singly linked list.
题意:
将一个单链表反转。
单链表反转我们可以考虑用遍历的方式来完成,也就是通过首先从头结点开始,然后用三个结点来实现,首先是最开始的那个节点为pre,然后下一个节点为cur,然后是cur的下一个节点为next,首先是让cur.next = pre.实现反转,然后就是不停地将这个指针指向后面,也就是不停地将这三个节点重新赋值,最后将这个原来的head节点的下一个置为空,将cur指向head。
class ListNode
{
int val;
ListNode next;
ListNode(int x)
{ val = x; }
}
public class Solution
{
public ListNode reverseList(ListNode head)
{
if(head == null)
return head;
ListNode pre = head;
ListNode cur = head.next;
ListNode next;
while(cur != null)
{
next = cur.next;
cur.next = pre;
pre = cur;
cur = next;
}
head.next = null;
head = pre;
return head;
}
}
本文介绍了一种通过遍历方式实现单链表反转的方法。利用三个指针pre、cur和next,不断调整节点间的连接,最终完成链表的反转。
550

被折叠的 条评论
为什么被折叠?



