题解 | #把二叉树打印成多行#

把二叉树打印成多行

http://www.nowcoder.com/practice/445c44d982d04483b04a54f298796288

public class Solution {
    ArrayList<ArrayList<Integer> > Print(TreeNode pRoot) {
    
        Queue<TreeNode> q=new LinkedList<TreeNode>();
        ArrayList<Integer> arr=new ArrayList<Integer>();
        ArrayList<ArrayList<Integer> > arr1=new ArrayList<ArrayList<Integer> >();
        
        if(pRoot==null) return arr1;
        TreeNode cur=pRoot,last=pRoot;TreeNode tail=pRoot;
        q.offer(cur);
        while(!q.isEmpty())
        {
            cur=q.poll();
            arr.add(cur.val);
            if(cur.left!=null)
            {
               q.offer(cur.left);
                tail=cur.left;
            }
            if(cur.right!=null)
            {
               q.offer(cur.right);
                tail=cur.right;
            }
            if(last==cur)
            {
                last=tail;
                arr1.add(new ArrayList(arr));
                arr.clear();
            }
        }
        return arr1;
        
    }
    
}

全部评论

相关推荐

鬼迹人途:你去投一投尚游游戏,服务器一面,第一个图算法,做完了给你一个策略题,你给出方案他就提出低概率问题,答不上当场给你挂
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-08 10:39
一个证都没&nbsp;我能填什么
程序员小白条:别人有,你为什么没有,还是这个道理,社会就是比较,竞争,淘汰,你要安逸,那么就要做好淘汰的准备
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务