๊ธฐ๋ณธํ
class Trie {
data class TrieNode(var isEndOfWord : Boolean, val children : MutableMap<Char,TrieNode>)
val root = TrieNode(false, mutableMapOf())
fun insert(word : String) {
var currentNode = root
word.forEach{ char ->
val child = currentNode.children[char] ?: TrieNode(false, mutableMapOf())
currentNode.children[char] = child
currentNode = child
}
currentNode.isEndOfWord = true
}
fun search(word : String) : Boolean {
var currentNode = root
word.forEach{ char ->
val child = currentNode.children[char] ?: return false
currentNode = child
}
return currentNode.isEndOfWord
}
}