数据结构--栈的应用_字符反转

栈的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;//返回反转的字符串
		
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值