题解 | #反转链表#

反转链表

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置空。自己的一个思路,不喜勿喷

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

相关推荐

程序员花海_:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
合适才能收到offe...:@创作小队长 给小助手点儿惩罚,小助手天天摸鱼
摸鱼被leader发现了...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务