Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- input = new Scanner(System.in);
- N = input.nextInt()
- numbers=[]
- for (i = 0; i < N; ++i) {
- numbers << input.next()
- }
- int numberOfDigit(List<String> phoneNumbers) {
- masterNode = new Node('#')
- phoneNumbers.each {
- insertNumber(masterNode,it)
- }
- return masterNode.size()-1
- }
- def insertNumber(Node root,String number) {
- parentNode = root
- number.each { c ->
- Node nextNode = parentNode.nodes.find { it.value == c }
- if (nextNode == null) {
- nextNode = new Node(c)
- parentNode.nodes.add(nextNode)
- }
- parentNode = nextNode
- }
- }
- class Node {
- def value
- def nodes = []
- Node(def value) {
- this.value=value
- }
- int size() {
- return 1+ nodes.inject(0) { r, i -> r += i.size() }
- }
- }
- println numberOfDigit(numbers)
Add Comment
Please, Sign In to add comment