剑指offer-60

把二叉树打印成多行

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

层次遍历,用Queue,父节点出队时孩子节点入队,一层一个List

import java.util.*;
public class Solution {
    ArrayList<ArrayList<Integer>> Print(TreeNode pRoot) {
        ArrayList<ArrayList<Integer>> ans = new ArrayList<>();
        Queue<TreeNode> queue = new LinkedList<>();
        queue.add(pRoot);
        queue.add(null);
        while(!queue.isEmpty()&&queue.peek()!=null){
            ArrayList<Integer> tempList = new ArrayList<>();
            while(queue.peek()!=null){
                TreeNode tNode = queue.poll();
                tempList.add(tNode.val);
                if(tNode.left!=null){
                    queue.add(tNode.left);
                }
                if(tNode.right!=null){
                    queue.add(tNode.right);
                }
            }
            ans.add(tempList);
            queue.poll();
            queue.add(null);
        }
        return ans;
    }

}
全部评论

相关推荐

小鹏、大疆、米哈游、MinMax小鹏上午投的下午就约面,进度未免也太快了
蛇年行大运fff:哥们 盗贴有意思吗,我发xhs上的给你搬过来了😅😅😅
点赞 评论 收藏
分享
代码飞升:别用口语,后端就写后端,前端就写前端,最后别光后悔
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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