public int[] levelOrder(TreeNode root) {
List<Integer> list = new ArrayList<>();
if (root == null) {
return new int[0];
}
TreeNode p = root;
Queue<TreeNode> s = new LinkedList<>();
s.offer(p);
while ( !s.isEmpty() ) {
int size = s.size();
while (size > 0) {
p = s.poll();
list.add(p.value);
if (p.left != null) {
s.offer(p.left);
}
if (p.right != null) {
s.offer(p.right);
}
size --;
}
}
int[] res = new int[list.size()];
for (int i = 0; i < list.size(); i ++) {
res[i] = list.get(i);
}
return res;
}
二叉树的层次遍历
最新推荐文章于 2024-06-20 20:20:21 发布