亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java實現(xiàn)單鏈表翻轉(zhuǎn)實例代碼

 更新時間:2017年03月24日 14:01:08   作者:Michael_YuChen  
Java實現(xiàn)單鏈表反轉(zhuǎn),遞歸和非遞歸兩種形式。接下來通過本文給大家分享Java實現(xiàn)單鏈表翻轉(zhuǎn)實例代碼,需要的的朋友參考下

Java實現(xiàn)單鏈表反轉(zhuǎn),遞歸和非遞歸兩種形式

/**
 * 反轉(zhuǎn)單鏈表
 */

/** * 定義鏈表
 * 
 * @author 16026
 *
 */
class Node {
  int val;
  Node next;
  public Node(int val) {
    this.val = val;
  }
}
public class ReverseList {
  /**
   * 反轉(zhuǎn)鏈表
   * 
   * @param head
   * @return
   */
  public static Node reverseList(Node head) {
    if (head == null || head.next == null) {
      return head;
    }
    Node reHead = null;// 定義新鏈表頭結(jié)點
    while (head != null) {
      Node cur = head.next;// 記錄下一個節(jié)點
      head.next = reHead;// 將rehead節(jié)點連接到head節(jié)點上
      reHead = head;// 讓rehead指向head
      head = cur;// 將head指向下一個節(jié)點
    }
    return reHead;
  }
  /**
   * 遞歸反轉(zhuǎn)鏈表
   * 
   * @param head
   * @return
   */
  public static Node reverseList2(Node head) {
    if (head == null || head.next == null)
      return head;
    Node rehead = reverseList2(head.next);
    head.next.next = head;// 將頭節(jié)點置于末端
    head.next = null;// 防止鏈表循環(huán)
    return rehead;
  }
  /**
   * 打印鏈表
   * 
   * @param head
   */
  public static void printList(Node head) {
    if (head == null)
      return;
    while (head != null) {
      System.out.print(head.val + " ");
      head = head.next;
    }
  }
  /**
   * 測試
   * 
   * @param args
   */
  public static void main(String[] args) {
    Node n1 = new Node(1);
    Node n2 = new Node(2);
    Node n3 = new Node(3);
    Node n4 = new Node(4);
    Node n5 = new Node(5);
    n1.next = n2;
    n2.next = n3;
    n3.next = n4;
    n4.next = n5;
    // Node rehead = reverseList(n1);
    Node rehead = reverseList2(n1);
    printList(rehead);
  }
}

運行結(jié)果如下:

以上所述是小編給大家介紹的Java實現(xiàn)單鏈表翻轉(zhuǎn)實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 最新IDEA?2022基于JVM極致優(yōu)化?IDEA啟動速度的方法

    最新IDEA?2022基于JVM極致優(yōu)化?IDEA啟動速度的方法

    這篇文章主要介紹了IDEA?2022最新版?基于?JVM極致優(yōu)化?IDEA?啟動速度,需要的朋友可以參考下
    2022-08-08
  • spring cloud hystrix 超時時間使用方式詳解

    spring cloud hystrix 超時時間使用方式詳解

    這篇文章主要介紹了spring cloud hystrix 超時時間使用方式,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • 淺談spring aop的五種通知類型

    淺談spring aop的五種通知類型

    這篇文章主要介紹了淺談spring aop的五種通知類型,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • java?list和map切割分段的實現(xiàn)及多線程應(yīng)用案例

    java?list和map切割分段的實現(xiàn)及多線程應(yīng)用案例

    這篇文章主要為大家介紹了java?list和map切割分段的實現(xiàn)及多線程應(yīng)用案例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • 詳解JAVA流程控制語句

    詳解JAVA流程控制語句

    這篇文章主要介紹了Java中的流程控制語句,循環(huán)等語句是Java編程中流程控制的基礎(chǔ),需要的朋友可以參考下
    2017-04-04
  • Nacos框架服務(wù)注冊實現(xiàn)流程

    Nacos框架服務(wù)注冊實現(xiàn)流程

    這篇文章主要介紹了SpringCloud服務(wù)注冊之nacos實現(xiàn)過程,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • springboot實現(xiàn)攔截器的3種方式及異步執(zhí)行的思考

    springboot實現(xiàn)攔截器的3種方式及異步執(zhí)行的思考

    實際項目中,我們經(jīng)常需要輸出請求參數(shù),響應(yīng)結(jié)果,方法耗時,統(tǒng)一的權(quán)限校驗等。本文首先為大家介紹 HTTP 請求中三種常見的攔截實現(xiàn),并且比較一下其中的差異。感興趣的可以了解一下
    2021-07-07
  • Java之String字符串在JVM中的存儲及其內(nèi)存地址的問題

    Java之String字符串在JVM中的存儲及其內(nèi)存地址的問題

    這篇文章主要介紹了Java之String字符串在JVM中的存儲及其內(nèi)存地址的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • 詳解SpringBoot多跨域請求的支持(JSONP)

    詳解SpringBoot多跨域請求的支持(JSONP)

    跨域是很多項目需要遇到的文章,本篇文章主要介紹了詳解SpringBoot多跨域請求的支持(JSONP),具有一定的參考價值,有興趣的可以了解一下
    2017-04-04
  • Java實現(xiàn)List反轉(zhuǎn)的方法總結(jié)

    Java實現(xiàn)List反轉(zhuǎn)的方法總結(jié)

    在Java中,反轉(zhuǎn)一個List意味著將其元素的順序顛倒,使得第一個元素變成最后一個,最后一個元素變成第一個,依此類推,這一操作在處理數(shù)據(jù)集合時非常有用,所以本文給大家總結(jié)了Java實現(xiàn)List反轉(zhuǎn)的方法,需要的朋友可以參考下
    2024-04-04

最新評論