The sample solution code is here. The solution was updated in Feb 2004 to correct a programming error. The output from the updated sample solution appears below:
SuffixTree for mississippi$: .$ 11 .i.$ 10 .i.ppi$ 7 .i.ssi.ppi$ 4 .i.ssi.ssippi$ 1 .mississippi$ 0 .p.i$ 9 .p.pi$ 8 .s.i.ppi$ 6 .s.i.ssippi$ 3 .s.si.ppi$ 5 .s.si.ssippi$ 2 'miss' occurs at {0} 'is' occurs at {4,1} 'i' occurs at {10,7,4,1} The longest prefix of 'issue' occurs at {4,1} SuffixTree for mississippi$missouri$: .$ 20,11 .i.$ 19,10 .i.ppi$ 7 .i.ss.i.ppi$ 4 .i.ss.i.ssippi$ 1 .i.ss.ouri$ 13 .miss.issippi$ 0 .miss.ouri$ 12 .ouri$ 16 .p.i$ 9 .p.pi$ 8 .ri$ 18 .s.i.ppi$ 6 .s.i.ssippi$ 3 .s.ouri$ 15 .s.s.i.ppi$ 5 .s.s.i.ssippi$ 2 .s.s.ouri$ 14 .uri$ 17 'miss' occurs at {0,12} 'is' occurs at {4,1,13} 'i' occurs at {19,10,7,4,1,13} The longest prefix of 'issue' occurs at {4,1,13} SuffixTree for indiana$louisiana$: .$ 17,7 .a.$ 16,6 .a.na$ 14,4 .diana$ 2 .i.ana$ 13,3 .i.ndiana$ 0 .i.siana$ 11 .louisiana$ 8 .n.a$ 15,5 .n.diana$ 1 .ouisiana$ 9 .siana$ 12 .uisiana$ 10 'miss' occurs at {} 'is' occurs at {11} 'i' occurs at {13,3,0,11} The longest prefix of 'issue' occurs at {11} SuffixTree for data$structures$and$algorithms$sure$are$fun$: .$ 43,39,35,30,19,15,4 .a.$ 3 .a.lgorithms$ 20 .a.nd$ 16 .a.re$ 36 .a.ta$ 1 .ctures$ 9 .d.$ 18 .d.ata$ 0 .e.$ 38,34 .e.s$ 13 .fun$ 40 .gorithms$ 22 .hms$ 27 .ithms$ 25 .lgorithms$ 21 .ms$ 28 .n.$ 42 .n.d$ 17 .orithms$ 23 .r.e.$ 37,33 .r.e.s$ 12 .r.ithms$ 24 .r.uctures$ 7 .s.$ 29,14 .s.tructures$ 5 .s.ure$ 31 .t.a$ 2 .t.hms$ 26 .t.ructures$ 6 .t.ures$ 10 .u.ctures$ 8 .u.n$ 41 .u.re.$ 32 .u.re.s$ 11 'miss' occurs at {} 'is' occurs at {} 'i' occurs at {25} The longest prefix of 'issue' occurs at {25}