一、知识点:
二叉树、广度搜索优先(BFS)
二、文字分析:
使用了广度优先搜索(BFS)算法来遍历二叉树的每一层,并将每层的牛的编号拼接成字符串。我们使用一个队列来保存当前层的节点,并不断从队列中取出节点进行处理。在处理每个节点时,我们将其编号添加到当前层的字符串中,并将其左子节点和右子节点(如果存在)加入队列中。当队列为空时,所有层的节点都已经处理完毕,我们将当前层的字符串添加到结果列表中。
该程序的时间复杂度为 O(N),空间复杂度为 O(N)。其中 N 是二叉树中的节点数。
三、编程语言:
java
四、正确代码:
import java.util.*;
public class Solution {
public String[] levelOrder(TreeNode root) {
List<String> result = new ArrayList<>();
if (root == null) {
return new String[0];
}
Queue<TreeNode> queue = new LinkedList<>();
queue.offer(root);
while (!queue.isEmpty()) {
int size = queue.size();
StringBuilder level = new StringBuilder();
for (int i = 0; i < size; i++) {
TreeNode node = queue.poll();
level.append(node.val);
if (node.left != null) {
queue.offer(node.left);
}
if (node.right != null) {
queue.offer(node.right);
}
}
result.add(level.toString());
}
String[] resArray = new String[result.size()];
resArray = result.toArray(resArray);
return resArray;
}
}

京公网安备 11010502036488号