定义一个函数,输入一个单链表的头节点,反转该单链表并输出反转后链表的头节点。
题目分析
反转(指针反向)单链表
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 pre=null;
//指向当前结点
ListNode curr=head;
while(curr!=null){
//next指向下一个
ListNode next=curr.next;
//将当前的结点next指向前一个结点
curr.next=pre;
//pre继续记录下一个元素
pre=curr;
//curr指向下一个
curr=next;
}
return pre;
}
}