Leetcode206 翻转链表

Leetcode206 翻转链表

1、需求

反转一个单链表。

示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL

2、解题思路

使用三个指针,pre指向翻转以后的头结点, curr指向为未转列表的头结点, next指向curr的下一个节点

三个节点不停地向后移动,反转节点

3、java代码

public ListNode reverseList(ListNode head) {

        if(head == null){
            return null;
        }

        ListNode pre = null, curr = head, next = curr.next;

        while(curr != null ){

            curr.next = pre;
            pre = curr;
            curr = next;
            if (next != null) {
                next = next.next;
            }
        }
        return pre;
    }
posted @ 2021-03-14 22:03  千叶翔龙  阅读(20)  评论(0)    收藏  举报