From: <and...@us...> - 2013-09-04 15:23:34
|
Revision: 4067 http://sourceforge.net/p/dl-learner/code/4067 Author: andremelo Date: 2013-09-04 15:23:29 +0000 (Wed, 04 Sep 2013) Log Message: ----------- Modifying PrefixTrie to include "String getLongestMatch(String s)" Modified Paths: -------------- trunk/components-core/src/main/java/org/dllearner/utilities/datastructures/PrefixTrie.java Modified: trunk/components-core/src/main/java/org/dllearner/utilities/datastructures/PrefixTrie.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/utilities/datastructures/PrefixTrie.java 2013-09-04 15:22:06 UTC (rev 4066) +++ trunk/components-core/src/main/java/org/dllearner/utilities/datastructures/PrefixTrie.java 2013-09-04 15:23:29 UTC (rev 4067) @@ -102,6 +102,22 @@ } return deepestWithValue.value; } + + public CharSequence getLongestMatch(CharSequence s) { + Node<T> current = root; + int i; + for (i = 0; i < s.length(); i++) { + int nodeIndex = s.charAt(i) - rangeOffset; + if (nodeIndex < 0 || rangeSize <= nodeIndex) { + return null; + } + current = current.next[nodeIndex]; + if (current == null) { + break; + } + } + return s.subSequence(0, i-1); + } /** * Returns a Map containing the same data as this structure. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |