按行打印二叉树

 ArrayList<ArrayList<Integer>> lists = new ArrayList<ArrayList<Integer>>();
        if(pRoot==null)
        {
            return lists;
        }

        ArrayList<TreeNode> llist = new ArrayList<TreeNode>();
        llist.add(pRoot);
        while(llist.size()!=0)
        {
            ArrayList<Integer> list = new ArrayList<Integer>();
            int k = llist.size();
            for(int i=0;i<k;i++)
            {
                TreeNode t = llist.get(i);
                list.add(t.val);
                if(t.left!=null)
                {
                    llist.add(t.left);
                }
                if(t.right!=null)
                {
                    llist.add(t.right);
                }
            }
            lists.add(list);
            for(int i=0;i<k;i++)
            {
                llist.remove(0);
            }
        }
        return lists;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容