首页 > 其他 > 详细

单链表的面试题分享

时间:2021-01-16 01:03:40      阅读:24      评论:0      收藏:0      [点我收藏+]

  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;
    }

 

单链表的面试题分享

原文:https://www.cnblogs.com/gdouzz/p/14284311.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!