方案一:利用StringBuffer或StringBuilder自带reverse方法
private static String reverse(String str) {
if (str == null) {
return null;
}
return new StringBuffer(str).reverse().toString();
}
方案二:利用String的charAt方法,逆序拼接。
private static String reverse1(String str) {
if (str == null) {
return null;
}
String result = "";
for (int i = str.length() - 1; i >= 0; i--) {
result = result + str.charAt(i);
}
return result;
}
方案三:利用String的toCharArray方法,逆序拼接。
private static String reverse2(String str) {
if (str == null) {
return null;
}
String result = "";
char[] chars = str.toCharArray();
for (int i = chars.length - 1; i >= 0; i--) {
result = result + chars[i];
}
return result;
}
方案四:利用栈,压栈出栈来逆序
private static String reverse4(String str) {
if (str == null) {
return null;
}
int stackSize = str.length();
Stack theStack = new Stack();
for (int i = 0; i < stackSize; i++) {
theStack.push(str.charAt(i));
}
StringBuilder result = new StringBuilder();
while (!theStack.isEmpty()) {
char ch = (char) theStack.pop();
result.append(ch);
}
return result.toString();
}
方案五:自己实现
算发链接