字符串String反转,数组反转-20200623
我发现现在笔试题经常出现字符串反转,下面记录一下常用的几种方案
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)); }