Skip to content

Commit c171b16

Browse files
committed
Add kotlin/0261-graph-valid-tree.kt
1 parent dfef0bc commit c171b16

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

kotlin/0261-graph-valid-tree.kt

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
class Solution {
2+
private lateinit var adjList: Array<MutableList<Int>>
3+
private val seen = mutableSetOf<Int>()
4+
5+
fun validTree(n: Int, edges: Array<IntArray>): Boolean {
6+
if (edges.size != n-1) {
7+
return false
8+
}
9+
10+
adjList = Array(n) { mutableListOf() }
11+
for (edge in edges) {
12+
adjList[edge[0]].add(edge[1])
13+
adjList[edge[1]].add(edge[0])
14+
}
15+
dfs(0)
16+
17+
return seen.size == n
18+
}
19+
20+
private fun dfs(node: Int) {
21+
if (seen.contains(node)) {
22+
return
23+
}
24+
seen.add(node)
25+
for (adj in adjList[node]) {
26+
dfs(adj)
27+
}
28+
}
29+
}

0 commit comments

Comments
 (0)