思路:注意一下别写错add还是remove
public class SetOfStacks { public static ArrayList<ArrayList<Integer>> setOfStacks(int[][] ope, int size) { // write code here ArrayList<ArrayList<Integer>> res = new ArrayList(); ArrayList<Integer> list = new ArrayList(); res.add(list); if(ope.length == 0) return res; for(int i = 0; i < ope.length; i++){ ArrayList<Integer> tmp = null; if(ope[i][0] == 1){ if(res.get(res.size() - 1).size() == size){ tmp = new ArrayList(); } else{ tmp = res.get(res.size() - 1); res.remove(res.size() - 1); } tmp.add(ope[i][1]); res.add(tmp); } else{ if(res.get(res.size() -1).size() != 0){ tmp = res.get(res.size() - 1); res.remove(res.size() - 1); tmp.remove(tmp.size() - 1); if(tmp.size() != 0) res.add(tmp); } else{ res.remove(res.size() - 1); } } } return res; } }
时间: 2024-10-15 20:27:00