麪試系列7,第1張

麪試系列7,第2張

原題:

用兩個棧實現一個隊列的功能?

思路:

假設兩個棧 A 和B,且都爲空。
可以認爲棧 A 爲提供入隊列的功能,棧 B 提供出隊列的功能。
入隊列: 入棧 A
出隊列:
1 如果棧B 不爲空,直接彈出棧 B 的數據。
2 如果棧 B 爲空,則依次彈出棧 A 的數據,放入棧 B 中,再彈出棧 B 的數據。

StatckOne.java
import java.util.ArrayList;

public class StatckOne {

private static ArrayList al;

public StatckOne() {
if (al == null)
al = new ArrayList();

}

public void put(Object o) {
al.add(o);
}

public Object top() {
int size = al.size();
if (al != null) {
if (size != 0) {
System.out.println("StatckOne");
return al.get(size - 1);
} else
System.out.println("棧中沒有對象");
} else
System.out.println("沒有初始化");
System.out.println("StatckOne");
return null;
}

}

位律師廻複

生活常識_百科知識_各類知識大全»麪試系列7

0條評論

    發表評論

    提供最優質的資源集郃

    立即查看了解詳情