我们知道栈是一种先进后出,也就是后进先出的数据结构,那么我们把一个单词的每个字母一次压入栈中,然后一次出栈就能够实现单词反转,下面是简单的例子!
public class DCFZ {
private int length;
private char[] values;
private int top;
public DCFZ(int m) {
length = m;
values = new char[length];
top = -1;
}
public void push(char c) {
values[++top] = c;
}
public char pop() {
return values[top--];
}
public boolean isEmpty() {
return top == -1;
}
public boolean isFull() {
return top == length-1;
}
public static void main(String[] args) {
DCFZ dcfz = new DCFZ(10);
String str = "你是 who is";
char[] ch = str.toCharArray();
for (char c:ch) {
if (!dcfz.isFull()) {
dcfz.push(c);
}
}
while (!dcfz.isEmpty()) {
System.out.print(dcfz.pop());
}
}
}
输出结果:si ohw 是你