题解 | #反转链表#

反转链表

https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca

/*
public class ListNode {
    int val;
    ListNode next = null;

    ListNode(int val) {
        this.val = val;
    }
}*/
public class Solution {
    public ListNode ReverseList(ListNode head) {
        if (head == null || head.next == null) {
            return head;
        }
        ListNode cur = head;
        ListNode next = head.next;
        ListNode res = ReverseList(next);
        ListNode resNext = res;
        cur.next = null;
        while (resNext.next != null){resNext = resNext.next;}
        resNext.next = cur;
        return res;
    }
}

主要使用递归来实现,首先记录当前链表的头节点,然后将next继续调用此反转的方法,直到最后一个节点,递归方法返回后,将当前节点设置在res的最后一个节点的next上,并将当前节点的next置空。自己的一个思路,不喜勿喷

#在找工作求抱抱##软件开发薪资爆料#
全部评论

相关推荐

11-04 14:10
东南大学 Java
_可乐多加冰_:去市公司包卖卡的
点赞 评论 收藏
分享
10-14 23:01
已编辑
中国地质大学(武汉) Java
CUG芝士圈:虽然是网上的项目,但最好还是包装一下,然后现在大部分公司都在忙校招,十月底、十一月初会好找一些。最后,boss才沟通100家,别焦虑,我去年暑假找第一段实习的时候沟通了500➕才有面试,校友加油
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务