字符串反转的几种方式
** 一:通过stack先进后出的原理,进行反转**
//栈是Vector的一个子类,它实现了一个标准的后进先出的栈。
static String stack(String string){
//Character 类用于对单个字符进行操作。
//Character 类在对象中包装一个基本类型 char 的值
Stack<Character> stack = new Stack<Character>();
char[] ch=string.toCharArray();
for (char c : ch) {
//先进后出
stack.push(c);
}
char[] cs= new char[string.length()];
for(int i=0;i<string.length();i++){
//移除顶部字符,并返回该对象
cs[i]=(char) stack.pop();
}
return new String(cs);
}
** 二.StringBuilder类**
//StringBuilder类遍历
static String builder(String string){
StringBuilder builder = new StringBuilder(string.length());
for(int i=string.length()-1;i>=0;i--){
builder.append(string.toCharArray()[i]);
}
return builder.toString();
}
//StringBuilder类的.reverse()方法
static String reverse(String string){
char[] charArray = string.toCharArray();
StringBuilder builder = new StringBuilder(charArray.length);
builder.append(string);
StringBuilder reverse = builder.reverse();
return reverse.toString();
}
public static void main(String args[]) {
String stack = stack("I am a student");
String builder = builder("I am a student");
String reverse = reverse("I am a student");
System.out.println("stack:"+stack);
System.out.println("builder:"+builder);
System.out.println("reverse:"+reverse);
}
}
输出结果:
stack:tneduts a ma I
builder:tneduts a ma I
reverse:tneduts a ma I