最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何利用Java輸出鏈表中倒數(shù)第k個結點

 更新時間:2021年12月10日 10:19:47   作者:WYSCODER  
這篇文章主要給大家介紹了關于如何利用Java輸出鏈表中倒數(shù)第k個結點的相關資料,文中通過實例代碼介紹的非常詳細,對大家學習或者使用java具有一定的參考學習價值,需要的朋友可以參考下

前言

鏈表是一種數(shù)據(jù)結構,和數(shù)組同級。比如,Java中我們使用的ArrayList,其實現(xiàn)原理是數(shù)組。而LinkedList的實現(xiàn)原理就是鏈表了。鏈表在進行循環(huán)遍歷時效率不高,但是插入和刪除時優(yōu)勢明顯

本文主要介紹的是輸出鏈表中倒數(shù)第k個結點,下面來一起看看詳細的介紹吧

問題描述

給你一個單鏈表,輸出倒數(shù)第k個結點,如下圖鏈表中,輸出倒數(shù)第k個結點,比如 k = 2,輸出5這個結點。

方法一

方法描述

輸出倒數(shù)第k個結點就是輸出整數(shù)第len - k + 1個結點,len為鏈表的長度。

動畫演示

代碼如下

/**
 * Definition for singly-linked list.
 * public class Node {
 *     int val;
 *     Node next;
 *     Node() {}
 *     Node(int val) { this.val = val; }
 *     Node(int val, Node next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    //計算鏈表的長度
    private int size() {
        int count = 0;
        for(Node p = head;p != null;p = p.next) {
        		count++;
        }
        return count;
    }
    //返回倒數(shù)第k個結點
    public Node outputLastIndexNode(int k) {
        //鏈表為空
        if (head == null) {
            return null;
        }
        
        //鏈表長度
        int len = size();
        //檢測k值
        if(k > len || k < 0) {
              System.out.println("k值有誤!??!");
        }
      
      	Node p = head;
        for(int i = 0; i < len - k; i++) {
        	  p = p.next;
        }
        return p;
}

方法二

方法描述

1)定義一個q變量指向鏈表的第一個結點,是q變量往后移動k個結點。

2)定義一個p變量指向鏈表的第一個結點。

3)p變量和q變量同時循環(huán)往后移動一個結點,直到q為null。

動畫演示

代碼如下

/**
 * Definition for singly-linked list.
 * public class Node {
 *     int val;
 *     Node next;
 *     Node() {}
 *     Node(int val) { this.val = val; }
 *     Node(int val, Node next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    //計算鏈表的長度
    private int size() {
        int count = 0;
        for(Node p = head;p != null;p = p.next) {
        		count++;
        }
        return count;
    }
    //返回倒數(shù)第k個結點
    public Node outputLastIndexNode(int k) {
        //鏈表為空
        if (head == null) {
            return null;
        }
        
        //鏈表長度
        int len = size();
        //檢測k值
        if(k > len || k < 0) {
              System.out.println("k值有誤?。?!");
        }
      
      	Node q = head;
      	//使q往后移動k個結點
      	while(k-- > 0) {
      		q = q.next;
      	}
       	Node p = head;
       	while( q != null) {
       		q = q.next;
       		p = p.next;
        } 
		return p;	
}

總結

到此這篇關于如何利用Java輸出鏈表中倒數(shù)第k個結點的文章就介紹到這了,更多相關Java輸出鏈表結點內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Mybatisplus實現(xiàn)JSON處理器的示例代碼

    Mybatisplus實現(xiàn)JSON處理器的示例代碼

    Mybatisplusjson是基于Mybatisplus開發(fā)的一個json工具庫,本文主要介紹了Mybatisplus實現(xiàn)JSON處理器的示例代碼,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • SpringBoot中間件ORM框架實現(xiàn)案例詳解(Mybatis)

    SpringBoot中間件ORM框架實現(xiàn)案例詳解(Mybatis)

    這篇文章主要介紹了SpringBoot中間件ORM框架實現(xiàn)案例詳解(Mybatis),本篇文章提煉出mybatis最經(jīng)典、最精簡、最核心的代碼設計,來實現(xiàn)一個mini-mybatis,從而熟悉并掌握ORM框架的涉及實現(xiàn),需要的朋友可以參考下
    2023-07-07
  • ?Java數(shù)據(jù)結構的十大排序

    ?Java數(shù)據(jù)結構的十大排序

    這篇文章主要介紹了?Java數(shù)據(jù)結構的十大排序,排序算法分為比較類排序和非比較類排序,具體的內(nèi)容,需要的朋友參考下面思維導圖及文章介紹,希望對你有所幫助
    2022-01-01
  • 深入淺出講解Java中的枚舉類

    深入淺出講解Java中的枚舉類

    這篇文章主要介紹了深入淺出講解Java中的枚舉類,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • java省市級聯(lián)下拉菜單實例代碼

    java省市級聯(lián)下拉菜單實例代碼

    這篇文章主要為大家詳細介紹了java省市級聯(lián)實例代碼,具有一定的參考價值,感興趣的朋友可以參考一下
    2016-05-05
  • SSM框架下實現(xiàn)登錄注冊的示例代碼

    SSM框架下實現(xiàn)登錄注冊的示例代碼

    這篇文章主要介紹了SSM框架下實現(xiàn)登錄注冊的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • java二叉樹的遍歷方式詳解

    java二叉樹的遍歷方式詳解

    這篇文章主要為大家詳細介紹了java實現(xiàn)二叉樹遍歷的四種方式,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能給你帶來幫助
    2021-08-08
  • Springmvc中的轉(zhuǎn)發(fā)重定向和攔截器的示例

    Springmvc中的轉(zhuǎn)發(fā)重定向和攔截器的示例

    本篇文章主要介紹了Springmvc中的轉(zhuǎn)發(fā)重定向和攔截器的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • 帶你深入概括Java!六、方法和方法重載?。ㄍ扑])

    帶你深入概括Java!六、方法和方法重載?。ㄍ扑])

    這篇文章主要介紹了Java方法和方法重載,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • @PropertySource 無法讀取配置文件的屬性值解決方案

    @PropertySource 無法讀取配置文件的屬性值解決方案

    這篇文章主要介紹了@PropertySource 無法讀取配置文件的屬性值解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06

最新評論

金坛市| 册亨县| 苍梧县| 栖霞市| 越西县| 松原市| 兴业县| 翁牛特旗| 长岭县| 卢氏县| 柳林县| 昭平县| 佛山市| 定日县| 定远县| 五指山市| 临海市| 资阳市| 海淀区| 界首市| 星座| 麦盖提县| 辽阳市| 永春县| 东莞市| 汕尾市| 衡山县| 永春县| 怀集县| 达日县| 枣阳市| 双牌县| 乌拉特后旗| 衡山县| 桦南县| 平利县| 铜梁县| 临江市| 京山县| 孟津县| 托里县|