其他分享
首页 > 其他分享> > leetcode 206 反转链表

leetcode 206 反转链表

作者:互联网

思路

原题链接

  1. 使用双指针的方法
  2. 定义pre 和 cur 和一个tmp指针
  3. 具体操作步骤如下:
    首先,将pre和tmp都指向null,让cur指向head
    在这里插入图片描述
    之后,使用tmp来保存cur.next 即来保存cur的下一个节点
    第二步
    然后,让cur.next 指向pre 即 cur.next=pre
    第三步
    之后,让pre 指向 cur 即 pre = cur 最后,让 cur 指向 tmp,即cur = tmp
    在这里插入图片描述
    之后,就是循环执行此过程…
    在这里插入图片描述
  class Solution {
	public ListNode reverseList(ListNode head) {
        ListNode pre = null;
        ListNode tmp = null;
        ListNode cur = head;
        while(cur != null){
            tmp = cur.next;
            cur.next = pre;
            pre = cur;
            cur = tmp;
        }
        return pre;
	}
}

注:动画来源代码随想录

标签:pre,tmp,ListNode,cur,206,next,链表,null,leetcode
来源: https://blog.csdn.net/Hong__Yan/article/details/122636041