今天去面試,面試官考了一個問題,問題是給定一個數組,如何實現這個數組的倒序輸出,由於基礎太差,這個問題我是不會的,但是根據自己的印象,我回答的是:先定義一個數組,然后用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 }
這兩種實現方式比較簡單,當然你也可以使用遞歸方式進行倒序輸出.