funbfs(root: TreeNode?) { if (root == null) return // 使用队列保存每一层的节点 val queue = ArrayDeque<TreeNode>() queue.offer(root) while (queue.isNotEmpty()) { // 当前层的节点数量 val levelSize = queue.size // 遍历当前层的所有节点 for (i in0 until levelSize) { val node = queue.poll() visit(node)
val neighbors = adjList[vertex] if (neighbors != null) { for (neighbor in neighbors) { if (!visited.contains(neighbor)) { dfsHelper(neighbor, visited) } } } } }