java - 打印正向排序,然后反向排序,直到开始?

标签 java recursion

我有一个有趣的问题需要解决,我已经给出了 startend 整数值,并且我需要从 start 打印到 end,然后使用递归从 endstart

例如 -

start = 2 和 end = 5 那么该方法应打印以下内容,

2,3,4,5,4,3,2

我可以使用代码轻松完成第一部分,

public static void countUp(int start, int end) {    

    System.out.println(start);

    if(start< end){

        countUp(start+1, end);
    }
}

但是,起始值会在递归中增加,而我没有办法找到减少的位置。如何改进我的代码,只允许使用一种方法?目前,仅打印

2,3,4,5 // I don't care about the commas  

最佳答案

试试这个,

public static void countUp(int start, int end) {    

 System.out.println(start);

  if(start< end){

     countUp(start+1, end);
     System.out.println(start); //backtracking

   }
}

关于java - 打印正向排序,然后反向排序,直到开始?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34625196/

相关文章:

javascript - 需要有关 JavaScript 递归和异步方法的建议

recursion - 如何为递归函数的每次迭代收集多个项目

c++ - N选K、K-N、K-2N等,递归中递归

java - 使用 UTF-8 资源本地化 JSF 1.2 应用程序

java - Thread.join() 的 JDK 实现

java - 使用反射实例化类型参数的对象

java - 计算树的高度 - Java

java - 使用 JodaTime/scala 的时区转换时间

给定半径为1.00的圆坐标的java数学计算

python - 如何返回列表 Python 的最后一个索引