/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
/*我们可以申请两个指针:
第一个指针叫 pre,最初是指向 null 的
第二个指针 cur 指向 head,然后不断遍历 cur
每次迭代到 cur,都将 cur 的 next 指向 pre,然后 pre 和 cur 前进一位。
都迭代完了(cur 变成 null 了),pre 就是最后一个节点了。
*/
public ListNode reverseList(ListNode head) {
ListNode cur=head;
ListNode tmp=null;
ListNode pre=null;
while(cur!=null){
tmp=cur.next;
cur.next=pre;
pre=cur;
cur=tmp;
}
return pre;
}
}
剑指_Offer_24_反转链表_双指针
最新推荐文章于 2021-12-26 23:26:43 发布