Beispiel #1
0
        private void VerificarAnagramas(string prefixo, string palavra)
        {
            if (palavra.Length <= 1)
            {
                var palavraFinal = prefixo.ToUpper() + palavra.ToUpper();

                if (Dicionario.Contains(palavraFinal) && !PalavrasEncontradas.Contains(palavraFinal))
                {
                    PalavrasEncontradas.Add(palavraFinal);
                }
            }
            else
            {
                for (int i = 0; i < palavra.Length; i++)
                {
                    var cursor = palavra.Substring(i, 1);
                    var antes  = palavra.Substring(0, i);
                    var depois = palavra.Substring(i + 1);
                    VerificarAnagramas(prefixo + cursor, antes + depois);
                }
            }
        }