美文网首页
单向链表反转

单向链表反转

作者: 黄靠谱 | 来源:发表于2019-03-01 08:36 被阅读8次
  1. 利用3个指针:revertNode、indexNode、next,先反转,再往后移动位置,直到链表的末端
  2. 实现一次遍历就可以反转链表,而且不需要额外的空间
public class 单向反转 {
    public static void main(String[] args) {
        Node node=generateLink();
        Util.printNode(node);
    //  Node reverNode=revert(null);
    //  Node reverNode=revert(new Node(1));
        Node reverNode=revert(node);
        Util.printNode(reverNode);
    }
    
    //利用3个指针:revertNode、indexNode、next,先反转,再往后移动位置,直到链表的末端
    //实现一次遍历就可以反转链表,而且不需要额外的空间
    public static Node revert(Node header){
        Node revertNode,indexNode,next;
        if(header==null||header.next==null){
            return header;
        }
        //初始化
        revertNode=header;
        indexNode=header.next;
        next=indexNode.next;
        revertNode.next=null;
        //开始反转
        while(next!=null){
            indexNode.next=revertNode;
            revertNode=indexNode;
            indexNode=next;
            next=next.next;
        }
        //反转最后一环
        indexNode.next=revertNode;
        return indexNode;
    }
    


    public  static Node generateLink(){
        Node header=new Node(1);
        Node next2=new Node(2);
        Node next3=new Node(3);
        Node next4=new Node(4);
        Node next5=new Node(5);
        next4.next=next5;
        next3.next=next4;
        next2.next=next3;
        header.next=next2;
        return header;
        
    }
}

相关文章

  • 数据结构 - 单向链表及相关算法

    单向链表 链表常见算法 链表反转

  • reverse linked list

    反转单向链表 demo 运行效果

  • 数据结构专题:1.单向链表反转与排序

    有如下单向链表 1.单向链表反转,递归 递归的方式其实是从尾节点开始进行指针反转,最终递归反转到头节点 2.单向链...

  • 单向链表算法

    单向链表 反转单向链表 单链表查找倒数第k个节点 单链表递归倒序打印 单链表排序 单链表删除重复节点

  • 数据结构-链表

    相关掌握点 单向链表 双向链表 反转单向链表 判断链表是否含有环 链表构建 链表是一种线性结构,是通过指针引用节点...

  • 单向链表-链表反转

    最近在并行复习数据结构与算法的知识,为了加强掌握,就把做题思路用画图的方式记录下来。今天是第一篇,常见的问题:链表...

  • 链表 - 单向链表反转

    反转一个单链表。输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL 图解...

  • 链表常见问题

    反转单向链表思路使用一个临时节点当做缓冲节点,通过绕圈完成反转 反转部分链表题:给定一个链表,及反转的范围,完成反...

  • 单向链表反转

    https://blog.csdn.net/blioo/article/details/62050967

  • 反转单向链表

    单向链表的反转是一个非常常见的链表类面试题,我在刷leetcode的过程中,发现了有许多链表题目的解法,都是以反转...

网友评论

      本文标题:单向链表反转

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