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;
        }
  • 相关阅读:
    香港的困境
    美国的制度
    媒体行业
    张首晟生前最著名演讲:这几句话可以总结人类所有知识
    印度的发展
    中国互联网发展解读
    cnblogs博客使用LaTeX公式
    Stanford CS229 Machine Learning by Andrew Ng
    强化学习在业界的实际应用
    AUC计算方法
  • 原文地址:https://www.cnblogs.com/gdouzz/p/14284311.html
Copyright © 2011-2022 走看看