栈的java代码:
public class StackX {
private int maxsize;
private char[] stackArray;
private int top;
public StackX(int max) {
// TODO Auto-generated constructor stub
maxsize=max;
stackArray=new char[maxsize];
top=-1;
}
public void push(char j){
stackArray[++top]=j;
}
public char pop(){
return stackArray[top--];
}
public char peek(){
return stackArray[top];
}
public boolean isEmpty(){
return top==-1;
}
public static void main(String[] args) {
//反转字符串
Reverser reverser=new Reverser("hello");
System.out.println(reverser.doRev());
}
}
字符反转的方法:
public class Reverser {
private String input;
private String output;
public Reverser(String in) {
// TODO Auto-generated constructor stub
this.input=in;
}
public String doRev(){
int max=input.length();
StackX stackX=new StackX(max);
for(int j=0;j<input.length();j++){
char ch=input.charAt(j);//一个一个拿出字符串
stackX.push(ch);//一个一个地将字符放到栈中
}
output="";
while(!stackX.isEmpty()){
char c=stackX.pop();//弹出一个数据,就少一个数据
output=output+c;//字符相连接
}
return output;//返回反转的字符串
}
}