码迷,mamicode.com
首页 > 其他好文 > 详细

3.3---集合栈

时间:2015-12-20 14:33:09      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:

思路:注意一下别写错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;

    }
}

 

3.3---集合栈

标签:

原文地址:http://www.cnblogs.com/yueyebigdata/p/5060725.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!