字符串反转

public class ReverseString {
	public static void main(String[] args){
		//System.out.println(reverse1("123456789876543210"));
		//System.out.println(reverse2("123456789876543210"));
		System.out.println(reverse3("123456789876543210"));
	}
	
	/**
	 * 数组方式反转
	 * @param str
	 * @return
	 */
	public static String reverse1(String str) {
		if (str == null || str.length() <= 1) {
		return str;
		}
		char[] array = str.toCharArray();
		char[] reverseArray = new char[array.length];
		for (int i = 0; i < array.length; i++) {
		reverseArray[array.length - 1 - i] = array[i];
		}
		return new String(reverseArray);
	}
	
	/**
	 * 递归方式反转
	 * @param str
	 * @return
	 */
	public static String reverse2(String str) {
		if (str == null || str.length() <= 1) {
			return str;
		}
		return reverse2(str.substring(1)) + str.charAt(0);
	}
	
	public static String reverse3(String str) {
		if (str == null || str.length() <= 1) {
			return str;
		}
		StringBuffer sb = new StringBuffer(str);
		sb = sb.reverse();
		return sb.toString();
	}
	
}	

你可能感兴趣的:(字符串反转)