本文介绍了常用的反转字符串的方法,结尾的方法很精彩
public class reverseString {
public static void main(String[] args) {
String s = "public Hello";
StringBuffer sb = new StringBuffer();
System.out.println(first(s));
System.out.println(second(s));
System.out.println(third(s));
System.out.println(fourth(s));
System.out.println(fifth(s));
System.out.println(sixth(s, sb));
}
public static String first(String array) {
Stack<Character> stack = new Stack<>();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < array.length(); i++) {
stack.push(array.charAt(i));
}
while (!stack.empty()) {
sb.append(stack.pop());
}
return new String(sb);
}
public static String second(String array) {
char temp;
char[] charArray = array.toCharArray();
for (int i = 0; i < charArray.length / 2; i++) {
temp = charArray[i];
int after = charArray.length - 1 - i;
charArray[i] = charArray[after];
charArray[after] = temp;
}
return new String(charArray);
}
public static String third(String array) {
StringBuffer sb = new StringBuffer(array);
sb.reverse();
return new String(sb);
}
public static String fourth(String array) {
StringBuffer sb = new StringBuffer();
for (int i = array.length() - 1; i >= 0; i--) {
sb.append(array.charAt(i));
}
return new String(sb);
}
public static String fifth(String array) {
String r = "";
for (int i = 0; i < array.length(); i++) {
r = array.charAt(i) + r;
}
return r;
}
}
千呼万唤始出来
public static String sixth(String array, StringBuffer sb) {
if (array.length() > 0) {
sb.append(array.substring(array.length() - 1));
sixth(array.substring(0, array.length() - 1), sb);
}
return new String(sb);
}