public int maxMatch(CharNode node, char[] sen, int offset)
 {
     if (node != null)
     {
         return(node.MaxMatch(sen, offset + 1));
     }
     return(0);
 }
 public List <int> maxMatch(CharNode node, List <int> tailLens, char[] sen, int offset)
 {
     tailLens.Clear();
     tailLens.Add(0);
     if (node != null)
     {
         return(node.MaxMatch(tailLens, sen, offset + 1));
     }
     return(tailLens);
 }
 public List<int> maxMatch(CharNode node, List<int> tailLens, char[] sen, int offset)
 {
     tailLens.Clear();
     tailLens.Add(0);
     if (node != null)
         return node.MaxMatch(tailLens, sen, offset + 1);
     return tailLens;
 }
 public int maxMatch(CharNode node, char[] sen, int offset)
 {
     if (node != null)
         return node.MaxMatch(sen, offset + 1);
     return 0;
 }