面试系列7用两个栈实现一个队列的功能

面试系列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;
}
}
statcktwo.java
import java.util.arraylist;
public class statcktwo {
private static arraylist al;
public statcktwo() {
al = new arraylist();
}
public void put(object o) {
if (al != null)
al.add(o);
else
system.out.println('没有初始化');
}
public object top() {
int size = al.size();
if (al != null) {
if (size != 0) {
system.out.println('statcktwo');
return al.get(size - 1);
} else {
statckone so = new statckone();
return so.top();
}
} else
system.out.println('没有初始化');
return null;
}
}

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 面试系列7用两个栈实现一个队列的功能

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情