zoukankan      html  css  js  c++  java
  • 单链表的面试题分享

      1、单链表按顺序添加元素

      

        代码如下:

     public void  addByOrder(HeroNode node){
            if(headNode.next==null){
                headNode.next=node;
                return;
            }
            HeroNode cur=headNode.next;
            while (true){
                //找到合适的那个位置
                if(cur.next.heroNo>node.heroNo){
                    break;
                }
                cur=cur.next;
            }
            //找到合适位置了之后,拆开来
            HeroNode tempNode=cur.next;
            cur.next=node;
            node.next=tempNode;
        }

      2、单链表的反转

      方法一:

      如下图所示:

     代码如下:

    public void reverse(){
            if(headNode.next==null){
                System.out.println("链表为空");
                return;
            }
            HeroNode reverseHead=new HeroNode("","",0);
            //把链表数据,一个个读取出来,加入到新的链表中。
            HeroNode tempNode=headNode.next;
            while (true){
                if(tempNode.next==null){
                    break;
                }
                //每次都加入到最前面。
                HeroNode rsNode=new HeroNode(tempNode.heroName,tempNode.nickName,tempNode.heroNo);
                if(reverseHead.next==null){
                    reverseHead.next=rsNode;
                }else{
                    HeroNode tempReserveNode=reverseHead.next;
                    reverseHead.next=rsNode;
                    rsNode.next=tempReserveNode;
                }
                tempNode=tempNode.next;
            }
            headNode.next=reverseHead.next;
        }
  • 相关阅读:
    ActiveMQ的spring配置文件
    ActiveMQ consumer按顺序处理消息
    ActiveMQ异步分发消息
    2个线程顺序工作
    hadoop更换硬盘
    linux内存条排查
    gitlab迁移升级
    linux 监控网卡实时流量iftop
    gitlab7.2安装
    为首次部署MongoDB做好准备:容量计划和监控
  • 原文地址:https://www.cnblogs.com/gdouzz/p/14284311.html
Copyright © 2011-2022 走看看