Guest User

Untitled

a guest
Dec 17th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.81 KB | None | 0 0
  1. input = new Scanner(System.in);
  2.  
  3.  
  4. N = input.nextInt()
  5. numbers=[]
  6. for (i = 0; i < N; ++i) {
  7. numbers << input.next()
  8. }
  9. int numberOfDigit(List<String> phoneNumbers) {
  10. masterNode = new Node('#')
  11. phoneNumbers.each {
  12. insertNumber(masterNode,it)
  13. }
  14. return masterNode.size()-1
  15. }
  16.  
  17. def insertNumber(Node root,String number) {
  18. parentNode = root
  19. number.each { c ->
  20. Node nextNode = parentNode.nodes.find { it.value == c }
  21. if (nextNode == null) {
  22. nextNode = new Node(c)
  23. parentNode.nodes.add(nextNode)
  24. }
  25. parentNode = nextNode
  26. }
  27. }
  28.  
  29. class Node {
  30. def value
  31. def nodes = []
  32. Node(def value) {
  33. this.value=value
  34. }
  35. int size() {
  36. return 1+ nodes.inject(0) { r, i -> r += i.size() }
  37. }
  38. }
  39.  
  40. println numberOfDigit(numbers)
Add Comment
Please, Sign In to add comment