美文网首页算法
单链表反转

单链表反转

作者: 低调_0c1d | 来源:发表于2018-10-25 23:34 被阅读4次

    概述

    将单项链表进行反转,主要是注意两个问题
    1.从首节点开始,按照指针依次遍历所有的节点,从而返回尾节点。
    2.从尾节点开始,依次将反向修改指针。
    如下是实现:

        public static Node reverse(Node node) {
            if (node == null || node.next == null) {
                return node;
            } else {
                Node headNode = reverse(node.next);
                node.next.next = node;
                node.next = null;
                return headNode;
            }
        }
    

    PS:下图中,每次递归都是地址传递,这个很重要,如果实在不能理解,那么就debug跟踪一下代码就可以明白什么意思了


    image.png

    相关文章

      网友评论

        本文标题:单链表反转

        本文链接:https://www.haomeiwen.com/subject/kquhtqtx.html