Leetcode:二分搜索树层次遍历

题目:

给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。

示例:

示例 1:

Leetcode:二分搜索树层次遍历_第1张图片

输入:root = [3,9,20,null,null,15,7]
输出:[[3],[9,20],[15,7]]

示例 2:

输入:root = [1]
输出:[[1]]

示例 3:

输入:root = []
输出:[]

提示:

树中节点数目在范围 [0, 2000] 内

-1000 <= Node.val <= 1000

图解:

Leetcode:二分搜索树层次遍历_第2张图片

代码:

public List> levelOrder(TreeNode root) {
        List>lists=new ArrayList<>();
        if(root==null){
            return lists;
        }
       
        Queuequeue=new LinkedList<>();
        queue.offer(root);
        while(!queue.isEmpty()){
          Listlist=new ArrayList<>();
          int length=queue.size();
          for(int i=1;i<=length;i++){
              TreeNode treeNode=queue.poll();
              list.add(treeNode.val);
              if(treeNode.left!=null){
                  queue.offer(treeNode.left);
              }
              if(treeNode.right!=null){
                  queue.offer(treeNode.right);
              }
          }
          lists.add(list);
        }
        return lists;
    }

提交:

Leetcode:二分搜索树层次遍历_第3张图片

你可能感兴趣的:(leetcode,算法,职场和发展,java,数据结构)