加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 反向遍历数组,没有减号

发布时间:2020-12-15 05:21:57 所属栏目:Java 来源:网络整理
导读:在今天的面试中被问到这个问题.我确定这是一个非常简单的技巧,但我想不出来.如何从一端到另一端遍历一个简单的 Java数组(例如,为了从右到左聚合所有值的总和),而不使用“减”( – )符号(所以在循环中没有i–,或类似的东西)? 编辑:我很确定它应该是一个不涉
在今天的面试中被问到这个问题.我确定这是一个非常简单的技巧,但我想不出来.如何从一端到另一端遍历一个简单的 Java数组(例如,为了从右到左聚合所有值的总和),而不使用“减”( – )符号(所以在循环中没有i–,或类似的东西)?

编辑:我很确定它应该是一个不涉及特定于Java的结构(如集合)的技巧.不幸的是我以为我以后会自己想到它,所以我没有问到答案是什么:/

解决方法

递归是一个选项:

int[] numbers = {0,1,2,3,4,5,6,7,8,9,10};

public void traverseReversed(int[] a) {
    traverseReversed(a,0);
}

private void traverseReversed(int[] a,int i) {
    if ( i + 1 < a.length ) {
        // Traverse the rest of the array first.
        traverseReversed(a,i+1);
    }
    System.out.println(a[i]);
}

public void test() throws Exception {
    System.out.println("Hello world!");
    traverseReversed(numbers);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读