Java反转链表方法

来源:互联网 发布:js 把内容动态写入div 编辑:程序博客网 时间:2024/06/01 07:36

反转单链表的Java实现

前不久在面试时被问到单链表反转的问题,在那之前从未留意过这方面的问题(我懒得真是随心所欲啊。。。),毫不意外慌了心神只回答了大概思路。。。后来再次做到这道题时,无限感慨了自己的智商。
得出结论:不如回家种田。。。错,一定要好好记录回顾,毕竟我记忆还不好。。。
正题——反转单链表的思路:找到尾结点,从尾结点开始逆转“指针”指向。
以下是算法实现,一个我拜读了大神们的实现方法的总结,我可长点儿心吧。。。

/*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 newHead = ReverseList(head.next);        // 将下一个结点的“指针”逆转,指向当前头结点        head.next.next = head;        // 将当前头结点指向的结点置空完成反转        head.next = null;        return newHead;    }}
原创粉丝点击