题目内容
Reverse a singly linked list.
题目分析
对单链表进行反转
单链表翻转的时候,搞懂结点的赋值与更新就OK了,这块有点儿绕。
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
public class Solution {
public ListNode reverseList(ListNode head) {
if(head==null||head.next==null) return head;
ListNode pre;
ListNode p;
ListNode nxt;//迭代用的临时结点
pre=head;//初始化部分
p=head.next;//下一个点
pre.next=null;//前一个点
while(p!=null)
{
nxt=p.next;
p.next=pre;
pre=p;//pre向后更新一步
p=nxt;//p向后更新一步
}
return pre;
}
}