今天去面试,面试官考了一个问题,问题是给定一个数组,如何实现这个数组的倒序输出,由于基础太差,这个问题我是不会的,但是根据自己的印象,我回答的是:先定义一个数组,然后用swap方法进行输出.然后面试官点了点头...就继续面试了.
由于我印象中有swap方法,所以面试回去之后就写了两个java数组倒序输出的代码,都是java底层写好的方法,直接调用即可.
1.Collections工具类中的swap方法可.
1 package com.algorithm.test1; 2 3 import java.util.ArrayList; 4 import java.util.Collections; 5 import java.util.List; 6 7 public class ArrayReverse { 8 public static void main(String[] args) { 9 arrayReverse(); 10 } 11 public static void arrayReverse(){ 12 List list = new ArrayList(); 13 list.add(1); 14 list.add(10); 15 list.add(44); 16 list.add(13); 17 list.add(15); 18 19 System.out.println("Before : " + list); 20 Collections.swap(list, 0, 4); 21 System.out.println("After : " + list ); 22 } 23 }
另一个方法就是讲数组定义成StringBuffer类,然后调用StringBuffer类中的reverse方法即可.
1 import java.util.Scanner; 2 //实现数组或者字符串的倒序输出 3 public class StringReverse { 4 public static void main(String[] args) { 5 Reverse(); 6 } 7 public static void Reverse(){ 8 Scanner scanner = new Scanner(System.in); 9 String str = scanner.nextLine(); 10 StringBuffer stringBuffer = new StringBuffer(str); 11 System.out.println(stringBuffer.reverse()); 12 } 13 }
这两种实现方式比较简单,当然你也可以使用递归方式进行倒序输出.