字符串反转的几种方式

// 先转为数组,然后反向遍历 拼接
	public static String reversStr(String str) {
		char[] charArray = str.toCharArray();
		String result = "";
		for (int i = charArray.length - 1; i >= 0; i--) {
			result += charArray[i];
		}
		return result;
	}

	// 利用StringBuilder的reverse方法
	public static String reversStr2(String str) {
		StringBuilder sb = new StringBuilder(str);
		return (sb.reverse()).toString();
	}

	// 利用栈的特性可以先压栈再弹出
	public static String reversStr3(String str) {
		Stack s = new Stack();
		for (int i = 0; i < str.length(); i++) {
			s.push(str.charAt(i));
		}
		String result = "";
		while (!s.isEmpty()) {
			result += s.pop();
		}
		return result;
	}

	// 递归反转字符串
	public static String reversStr4(String str) {
		if (str == null || str.length() <= 1) {
			return str;
		}
		// 递归每次取第一个位置的字母放在最后
		return reversStr4(str.substring(1)) + str.charAt(0);
	}

 

你可能感兴趣的:(字符串反转的几种方式)