输入abcd ,输出dcba
java代码:
package ch03;
public class Reverse {
private String input;
public Reverse(String input) {
this.input = input;
}
public String doReverse() {
CharStack cs = new CharStack(input.length());
for (int i = 0; i < input.length(); i++) {
char ch = input.charAt(i);
cs.push(ch);
}
String output = " ";
while (!cs.isEmpty()) {
char ch = (char) cs.pop();
output += ch;
}
return output;
}
class CharStack {
private int maxSize;
private char[] arr;
private int top;
// 构造方法
public CharStack(int size) {
maxSize = size;
arr = new char[maxSize];
top = -1;
}
// 压入数据
public void push(char value) {
top++;
arr[top] = value;
// arr[++top]=value;
}
// 弹出数据
public long pop() {
return arr[top--];// 弹出arr[top],然后top--
}
// 访问栈顶元素
public long peek