我發現現在筆試題經常出現字符串反轉,下面記錄一下常用的幾種方案
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));
}