老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

Java怎么確定一個鏈表有環及入口節點

這篇文章主要介紹“Java怎么確定一個鏈表有環及入口節點”,在日常操作中,相信很多人在Java怎么確定一個鏈表有環及入口節點問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Java怎么確定一個鏈表有環及入口節點”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

我們提供的服務有:成都網站設計、網站建設、微信公眾號開發、網站優化、網站認證、溫嶺ssl等。為近1000家企事業單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的溫嶺網站制作公司

如何確定一個鏈表有環,入口節點是什么?

1.首先定義一個單鏈表;

var ,next,是單鏈表中的屬性,分別表示節點值和下一個節點的指向; 代碼如下:

//定義一個鏈表
  class  List{
    public  int var;
    public  List next;
//有參構造
    public List(int var) {
        this.var = var;
    }
//無參構造
    public List() {

    }
    //創建一個帶環的鏈表
    public  List Create(){
        List a = new List(1);
        List b = new List(2);
        List c = new List(3);
        List d = new List(4);
        List e = new List(5);
        List f = new List(6);
        a.next = b;
        b.next =c;
        c.next = d;
        d.next =e;
        e.next = f;
        f.next =d;
        return  a;
    }

2.編寫判斷是否存在環

如果存在,則返回這個節點,如果不存在則返回null,定義快慢指針,如果快的追上了慢的指針,那么這個鏈表必存在環,如果沒有追上,或者都為null,那么這個鏈表沒有環; 代碼如下:

//判斷是否有環,并找到相遇的節點
public  List MeetingNode(List node){
    List slow = new List();
    List fast = new List();
    if(node==null) return  null;
    slow = node.next;
    if(slow==null) return  null;
    fast=slow.next;
    while (fast!=null && slow!=null){
        if (fast==slow){
            return fast; //fast追上了slow,確定是一個有環的鏈表;
        }
        slow = slow.next;
        fast = fast.next;
        if(fast!=null){
            fast = fast.next;
        }
    }
   return null;
}

3.尋找入口節點

先讓快指針先走環的節點的個數步,在讓慢指針開始走,如果兩個指針相遇的話,那么相遇的節點必然是環的入口節點 代碼如下:

  public  List Enterdear(List node){
        if(node==null) return null;
        if(MeetingNode(node)==null) return null;
        int count =1;
        List res2;
        List res1 = MeetingNode(node);
        while (res1.next!=MeetingNode(node)){
            res1 = res1.next;
            count++;
        }
        res1 = node;
        for(int i = 0;i

main函數測試;

ublic class Deom {

    public static void main(String[] args) {
       List SB = new List();
       List res = SB.Create();
       List dear= SB.Enterdear(res);
       System.out.println(dear.var);

    }


}

Java怎么確定一個鏈表有環及入口節點 

到此,關于“Java怎么確定一個鏈表有環及入口節點”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注創新互聯網站,小編會繼續努力為大家帶來更多實用的文章!


網頁標題:Java怎么確定一個鏈表有環及入口節點
瀏覽地址:http://www.xueling.net.cn/article/jhpsjc.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 久草在线观看福利视频 | 亚洲精品天天影视综合网 | 国产在线视频欧美一区 | 国产一区视频在线观看免费 | 成人黄网站片免费视频 | 2020无码专区人妻系列 | 国产成人亚洲欧美久久影院 | 国产精品探花一区在线观看 | 欧美男女日b视频 | a级片免费的 | 视频在线观看一区 | 瑟瑟久久 | 日本高清视频www在线观看 | 国产做爰免费一百部观看 | 成人免费视频在线观看 | 中国少妇xxxxxxxxx28 | 搞逼视频免费看 | av中文字幕无码免费看 | 欧美日韩国产高清视频 | 日本极品少妇 | 久久国产中文娱乐网 | 国产原创av在线 | 老女BBWBBWBBWBBW高潮 | 高清a级毛片 | 在线中文字幕播放 | 成人综合视频在线 | 东京热av无码精品 | 欧美日韩视频免费在线观看 | 99精品高清在线播放 | 亚洲男同帅GAY片在线观看 | 超频97人妻在线视频 | 99久久久无码一区二区三区婷婷 | 97人人超碰在线 | 日本亚洲国产 | 中日韩精品视频在线观看 | 99精品视频在线观看免费 | 永久免费黄色大片 | 性生交大片免费全毛片 | 精品综合久久久久久88 | 中文字幕在线观看一区二区三区 | 国产亚洲精品精品精品 |