精简易懂版

分条件出栈

http://www.nowcoder.com/questionTerminal/6235a76b1e404f748f7c820583125c50

说是让弄进出栈,其实是个队列问题
弄两个队列,遇到1就进队列,遇到2出来,对2分个情况注意调用get()的时候判个空就解决了
import java.util.*;

public class CatDogAsylum {
public ArrayList<integer> asylum(int[][] ope) {
// write code here
ArrayList<integer> arr=new ArrayList<>();
ArrayList<integer> res=new ArrayList<>();
int len=ope.length;
for(int i=0;i<len;i++){
if(ope[i][0]==1){
arr.add(ope[i][1]);
}else if(ope[i][0]==2){//////////////////////////////////////////////////
if(ope[i][1]==0){
if(!arr.isEmpty()){
res.add(arr.remove(0));
}
}else if(ope[i][1]==1){
for(int k=0;k<arr.size();k++){
if(!arr.isEmpty()){
try{
if(arr.get(k)>0){
res.add(arr.remove(k));
break;
}
}catch(Exception e){
continue;
}
}
}
}else if(ope[i][1]==-1){
for(int k=0;k<arr.size();k++){
if(!arr.isEmpty()){
try{
if(arr.get(k)<0){
res.add(arr.remove(k));
break;
}
}catch(Exception e){
continue;
}
}
}
}
}
}
return res;
}
}
//到位!!</integer></integer></integer>

全部评论

相关推荐

冲芭芭拉鸭:你这图还挺新,偷了。
投递美团等公司10个岗位
点赞 评论 收藏
分享
11-18 16:08
福州大学 Java
影流之主:干10年不被裁,我就能拿别人一年的钱了,日子有盼头了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务