【链表】【打卡第130道】:leetcode 206. 反转链表

题目链接:https://leetcode-cn.com/problems/reverse-linked-list/

1、题目描述

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。

 2、算法分析

先创建 pre ,p结点指针分别指向前一个结点和后一个结点。

反转链表:

  p = head.next; // p指向下一个结点
  head.next = pre;  // 反转方向
  pre = head;  // pre  head 往下走
  head = p;

3、代码实现

public ListNode reverse(ListNode head){
    if(head == null){
        return null
    }
    ListNode pre = null;
    ListNode p = head;
    while(head != null){
        p = head.next;
        head.next = pre;
        pre = head;
        head = p;
    }
    return pre;
}

猜你喜欢

转载自blog.csdn.net/Sunshineoe/article/details/121663253