我發現現在筆試題經常出現字符串反轉,下面記錄一下常用的幾種方案
1、使用String.cahrAt(i)
public static void main(String[] args) { reverse("ABCDEFG"); } public static void reverse(String input){ System.out.println(input); String out=""; for( int x= input.length();x > 0;x--){ out += input.charAt(x-1); } System.out.println(out); }
2、使用StringBuffer或者StringBuilder的reverse()方法
public static void main(String[] args) { reverse1("ABCDEFG"); } public static void reverse1(String input){ System.out.println(input); StringBuilder sb=new StringBuilder(input); String out=sb.reverse().toString(); System.out.println(out); }
3、使用反轉數組
public static void main(String[] args) { reverse2("ABCDEFGH"); } /** * 反轉數組 */ public static void reverse2(String input) { System.out.println(input); // String[] array = input.split(""); // char[] array = input.toCharArray(); byte[] array = input.getBytes(); for (int i = 0, x = array.length; i < x; i++, x--) { byte temp = array[x - 1]; array[x - 1] = array[i]; array[i] = temp; }
//拼接數組的方法可以自己寫 System.out.println(new String(array)); }