目录
题目概述(简单难度)
题目链接:
思路与代码
思路展现
这个题目其实就是二叉树的层序遍历(使用队列)+List集合来完成遍历的操作
同学们要是想复习二叉树的层序遍历操作可以来看我的这篇博客:
代码示例
class Solution { public int[] levelOrder(TreeNode root) { if(root == null) { return new int[0]; } List<Integer> list = new ArrayList<>(); Queue<TreeNode> queue = new LinkedList<>(); //根节点入队 queue.add(root); while(!queue.isEmpty()) { //出队 TreeNode node = queue.poll(); //把结点值存放到list中 list.add(node.val); //左右子节点如果不为空就加入到队列中 if(node.left != null) { queue.add(node.left); } if(node.right != null) { queue.add(node.right); } } //把list转换为数组 int[] res = new int[list.size()]; for(int i = 0;i < res.length;i++) { res[i] = list.get(i); } return res; } }