Exemplo n.º 1
0
 private void preOrderTraverse(TrieNode node, ArrayList<String> list) {
   if (node.isEndOfKey()) {
     list.add(node.toString());
   }
   for (int i = 0; i < TrieNode.NUMCHILDREN; i++) {
     if (node.getChild((char) i) != null) {
       preOrderTraverse(node.getChild((char) i), list);
     }
   }
 }
Exemplo n.º 2
0
  public ArrayList<String> getAllPrefixMatches(String prefix) {
    //  ADD YOUR CODE BELOW

    TrieNode node = getPrefixNode(prefix);
    ArrayList<String> stringList = new ArrayList<String>();
    if (node.getDepth() == prefix.length()) // make sure whole prefix is matched
    preOrderTraverse(node, stringList);

    //  ADD YOUR CODE ABOVE HERE

    return stringList;
  }