Java实现 LeetCode 102 二叉树的层次遍历

102. 二叉树的层次遍历

给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。

例如:
给定二叉树: [3,9,20,null,null,15,7],

    3
   / \
  9  20
    /  \
   15   7

返回其层次遍历结果:

[
[3],
[9,20],
[15,7]
]

 
class Solution {
   public List> levelOrder(TreeNode root) {
    if(root == null)
        return new ArrayList<>();
    List> res = new ArrayList<>();
    Queue queue = new LinkedList();
    queue.add(root);
    while(!queue.isEmpty()){
        int count = queue.size();
        List list = new ArrayList();
        while(count > 0){
            TreeNode node = queue.poll();
            list.add(node.val);
            if(node.left != null)
                queue.add(node.left);
            if(node.right != null)
                queue.add(node.right);
            count--;
        }
        res.add(list);
    }
    return res;
}
}

你可能感兴趣的:(LeetCode)