算法基础LeetCodeReverseListNode_反转链表

Posted wtb123456

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法基础LeetCodeReverseListNode_反转链表相关的知识,希望对你有一定的参考价值。

###反转链表

class ListNode {
    int val;
    ListNode next;
    ListNode(int x) { val = x; }
}

public class LeetCodeReverseListNode {

    public static void main(String[] args) {
        ListNode head = new ListNode(0);
        ListNode node1 = new ListNode(100);
        ListNode node2 = new ListNode(120);
        head.next = node1;
        node1.next = node2;
        node2.next = null;
        reverseList(head);
    }

    public static ListNode reverseList(ListNode head) {
        ListNode pre = null;
        ListNode cur = head;
        ListNode tem = null;
        while (cur != null){
            //记录下一个节点
            tem = cur.next;
            //把当前节点的指针指向到前一个节点
            cur.next = pre;
            //前进一步
            pre = cur;
            //前进一步
            cur = tem;
        }
        return head;
    }
}

参考:https://leetcode-cn.com/problems/fan-zhuan-lian-biao-lcof/solution/ru-guo-ni-kan-wan-ping-lun-he-ti-jie-huan-you-wen-/

以上是关于算法基础LeetCodeReverseListNode_反转链表的主要内容,如果未能解决你的问题,请参考以下文章

算法基础| 高精度算法详解

算法基础| 差分算法及模板详解

算法基础:差分算法及模板应用

算法基础| 前缀和算法及模板详解

算法基础课第一章基础算法

算法基础:区间合并算法及模板应用