Java数据结构和算法—算法—反转链表

Posted iaiti

tags:

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

数组的话跟排好队的学生一样,第一个假如从0开始报数。让他们记住自己的数字,那叫到哪个数字就能找到对应的学生了。
而链表的话像是没有排好队的学生,但是关系是连接在一起的。每个人持有一张卡片,卡片上写了他指向谁。

结构比较简单。

public class ListNode 
    int val;
    ListNode next;

    ListNode(int x) 
        val = x;
    

 

 

1 递归方式:

public class Solution 
    private static int i = 0;

    public static ListNode reverseList(ListNode head) 
        
        if(head == null || head.next == null)
            return head;
        

        ListNode reverseNode = reverseList(head.next);
        head.next.next = head;

        head.next = null;
        return reverseNode;
    


    public static void main(String[] args) 

        ListNode node1 = new ListNode(1);
        ListNode node2 = new ListNode(2);
        ListNode node3 = new ListNode(3);
        // ListNode node4 = new Li

以上是关于Java数据结构和算法—算法—反转链表的主要内容,如果未能解决你的问题,请参考以下文章

每天一道算法题(java数据结构与算法)——>反转链表

反转链表算法Java实现

java算法leetcode_对话之反转链表

java算法leetcode_对话之反转链表

Java算法 每日一题 编号206:反转链表

Java算法 每日一题 编号206:反转链表