如何在不使用Java递归的情况下打印反向链接列表?

我尝试在不递归的情况下打印反向链接列表并反向链接列表。我怎样才能做到这一点?

问题:如何在不使用递归且不反转列表的情况下打印反向链接列表?

要求:没有多余的空间,不能反向链接列表,不能使用递归。

这是链表节点的定义

class Node {
  int value;
  Node next;

  public Node(int val) {
    this.value = val;
  }
}

这是我的printReverseLinkedList的递归版本:

public void printReverseList(Node head) {
    Node temp = head;
    if (temp.next != null) {
        printReverseList(temp.next);
    }
    System.out.print(temp.value);
}

Performace无关紧要,因为我只想以这种方式做。

约翰尼斯H.

如果您既不可以反转列表,也不可以使用递归,那么执行此操作的唯一方法是:

public void printReversList(Node head) {

    Node current = head; // used to search through the list
    Node last    = null; // stores the last element that we printed

    while (last != head) { // = we didn't print everything yet

        // find next element to print - it's one element before we reach "last"
        while (current.next != last) {
            current = current.next;
        }

        // Store the current element as the new last and print it
        last  = current;
        system.out.print(last.value);

        // reset current and start all over
        current = head;
    }
}

这是非常无效的,但是我没有其他办法可以想到。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在不使用循环和递归的情况下在Java中打印数组

来自分类Dev

如何在不使用循环的情况下多次打印?

来自分类Dev

SQL:如何在不使用反向函数的情况下检查字符串的回文?

来自分类Dev

如何在不修改指针的情况下递归地反转单个链接列表?

来自分类Dev

如何在不使用数组的情况下计算递归公式

来自分类Dev

如何在c中不使用任何递归函数的情况下遍历目录?

来自分类Dev

如何在不使用任何for或while循环的情况下将列表列表打印到python中的单个列表中?

来自分类Dev

如何在不使用双引号或单引号的情况下打印specyfic String?

来自分类Dev

如何在不使用Python的情况下打印出用于执行代码的命令

来自分类Dev

如何在不使用php或javascript在页面底部显示地址的情况下打印文档

来自分类Dev

如何在不使用Adobe的情况下创建或保存具有打印/编辑限制的PDF?

来自分类Dev

如何在不使用双引号或单引号的情况下打印specyfic String?

来自分类Dev

如何在不使用循环的情况下以相反顺序打印斐波那契数列

来自分类Dev

如何在不使用模式匹配的情况下打印特定行

来自分类Dev

如何在不使用for循环的情况下打印和保存多个ggplot图?

来自分类Dev

如何在不使用分号的情况下打印 1 到 N?解释这段代码

来自分类Dev

如何在不使用内部Subject <T,U>的情况下链接转换ISubject <T,U>

来自分类Dev

如何在不使用Xcode的情况下链接CocoaPods库(integrate_targets为false)

来自分类Dev

如何在不使用display:block的情况下创建CSS框链接

来自分类Dev

如何在不使用整个地址的情况下链接到其他目录中的文件?

来自分类Dev

如何在不使用过多内存的情况下链接许多C ++目标文件?

来自分类Dev

如何在不使用 ID 偏好的情况下更改链接的颜色?

来自分类Dev

如何在不使用for循环的情况下使用str_split拆分嵌套列表?

来自分类Dev

如何在不使用 glob (python3.4) 的情况下将递归文件列表输出到文本文件

来自分类Dev

如何在不使用“包含”的情况下从列表框中删除项目?

来自分类Dev

如何在不使用for循环的情况下转储<WebElement>列表的内容

来自分类Dev

Firebase-如何在不使用AngularFire的情况下获取对象列表

来自分类Dev

如何在不使用集合的情况下从python列表中删除重复的单词?

来自分类Dev

如何在不使用.remove的情况下从列表中删除元素

Related 相关文章

  1. 1

    如何在不使用循环和递归的情况下在Java中打印数组

  2. 2

    如何在不使用循环的情况下多次打印?

  3. 3

    SQL:如何在不使用反向函数的情况下检查字符串的回文?

  4. 4

    如何在不修改指针的情况下递归地反转单个链接列表?

  5. 5

    如何在不使用数组的情况下计算递归公式

  6. 6

    如何在c中不使用任何递归函数的情况下遍历目录?

  7. 7

    如何在不使用任何for或while循环的情况下将列表列表打印到python中的单个列表中?

  8. 8

    如何在不使用双引号或单引号的情况下打印specyfic String?

  9. 9

    如何在不使用Python的情况下打印出用于执行代码的命令

  10. 10

    如何在不使用php或javascript在页面底部显示地址的情况下打印文档

  11. 11

    如何在不使用Adobe的情况下创建或保存具有打印/编辑限制的PDF?

  12. 12

    如何在不使用双引号或单引号的情况下打印specyfic String?

  13. 13

    如何在不使用循环的情况下以相反顺序打印斐波那契数列

  14. 14

    如何在不使用模式匹配的情况下打印特定行

  15. 15

    如何在不使用for循环的情况下打印和保存多个ggplot图?

  16. 16

    如何在不使用分号的情况下打印 1 到 N?解释这段代码

  17. 17

    如何在不使用内部Subject <T,U>的情况下链接转换ISubject <T,U>

  18. 18

    如何在不使用Xcode的情况下链接CocoaPods库(integrate_targets为false)

  19. 19

    如何在不使用display:block的情况下创建CSS框链接

  20. 20

    如何在不使用整个地址的情况下链接到其他目录中的文件?

  21. 21

    如何在不使用过多内存的情况下链接许多C ++目标文件?

  22. 22

    如何在不使用 ID 偏好的情况下更改链接的颜色?

  23. 23

    如何在不使用for循环的情况下使用str_split拆分嵌套列表?

  24. 24

    如何在不使用 glob (python3.4) 的情况下将递归文件列表输出到文本文件

  25. 25

    如何在不使用“包含”的情况下从列表框中删除项目?

  26. 26

    如何在不使用for循环的情况下转储<WebElement>列表的内容

  27. 27

    Firebase-如何在不使用AngularFire的情况下获取对象列表

  28. 28

    如何在不使用集合的情况下从python列表中删除重复的单词?

  29. 29

    如何在不使用.remove的情况下从列表中删除元素

热门标签

归档