Eertree: Difference between revisions

imported>Patuitar
imported>Patuitar
Line 656:
}
 
traverse(){
let subpalindromes = [];
 
const dfs = (node) => {
if(node !== this.imaginary && node !== this.empty){
subpalindromes.push(node.palindrome);
}
 
for(let [_, childNode] of node.edges){
dfs(childNode);
}
}
 
dfs(this.imaginary);
dfs(this.empty);
return subpalindromes;
}
}
 
var getSubpalindromes = function(s) {
let eertree = new Eertree();
for(let c of s){
eertree.add(c);
}
return eertree.traverse();
}
 
console.log(getSubpalindromes('eertree'));
 
</syntaxhighlight> {{output}} <pre>
Results of processing string "eertree":
Number of sub-palindromes: 7
Sub-palindromes: ["e", "r", "eertreet", "ertrertr", "rtrertre", "teertree", "ee"]
</pre>
 
Anonymous user