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

Java實(shí)現(xiàn)單向鏈表反轉(zhuǎn)

 更新時(shí)間:2018年03月10日 14:23:11   作者:hanxue1122  
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)單向鏈表反轉(zhuǎn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了Java實(shí)現(xiàn)單向鏈表反轉(zhuǎn)的具體代碼,供大家參考,具體內(nèi)容如下

1、實(shí)現(xiàn)代碼

public class LinkedListTest {

 public static void main(String[] args) {
  Node A = new Node("A");
  Node B = new Node("B");
  Node C = new Node("C");
  Node D = new Node("D");
  Node E = new Node("E");
  Node F = new Node("F");
  A.next = B;
  B.next = C;
  C.next = D;
  D.next = E;
  E.next = F;
  print(A);

  LinkedListReversor reversor = LinkedListReversor.RECURSION;
  System.out.println(reversor.getStrategy() + ":");
  Node tmp = reversor.execute(A);
  print(tmp);

  reversor = LinkedListReversor.NO_RECURSION;
  System.out.println(reversor.getStrategy() + ":");
  print(reversor.execute(tmp));
 }

 private static void print(Node node) {
  while (node != null) {
   System.out.print(node.value);
   node = node.next;
   if (node != null) {
    System.out.print("->");
   } else {
    System.out.println();
   }
  }
 }

}

class Node {
 public String value;
 public Node next;

 public Node(String value) {
  this.value = value;
 }
}

enum LinkedListReversor {
 RECURSION("遞歸") {
  @Override
  public Node execute(Node node) {
   Node prev = null;
   if (node == null || node.next == null) {
    prev = node;
   } else {
    Node tmp = execute(node.next);
    node.next.next = node;
    node.next = null;
    prev = tmp;
   }
   return prev;
  }
 },
 NO_RECURSION("非遞歸") {
  @Override
  public Node execute(Node node) {
   Node prev = null;
   while (node != null) {
    Node tmp = node;
    node = node.next;
    tmp.next = prev;
    prev = tmp;
   }
   return prev;
  }
 };
 private String strategy;

 private LinkedListReversor(String strategy) {
  this.strategy = strategy;
 }

 public abstract Node execute(Node node);

 public String getStrategy() {
  return strategy;
 }
}

2、實(shí)現(xiàn)思路

遞歸:從尾部開始處理

非遞歸:從頭部開始處理

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

准格尔旗| 祥云县| 临高县| 蒙阴县| 深州市| 隆安县| 洪江市| 墨脱县| 科尔| 潍坊市| 页游| 大邑县| 阿拉尔市| 河源市| 海晏县| 旬阳县| 赤水市| 嘉善县| 邻水| 民和| 临汾市| 宁强县| 五莲县| 内乡县| 巫山县| 宜州市| 时尚| 汉川市| 墨脱县| 台江县| 芜湖县| 类乌齐县| 万宁市| 海城市| 锡林郭勒盟| 阜阳市| 孝义市| 阳春市| 灵宝市| 邢台县| 汶川县|