encontrar la subcadena izquierda es igual a la subcadena derecha

Escriba una función que dada una cadena S devuelva el índice (contando desde 0) de carácter tal que la subcadena a su izquierda sea una susbstring invertida a su derecha (o -1 si tal índice no existe).

Por ejemplo, dada una cadena

coche de carreras

La función debería devolver 3, porque la subcadena a la izquierda del carácter e en el índice 3 es rac, y la de la derecha es car.

preguntado el 16 de mayo de 11 a las 16:05

En primer lugar, no ha dicho qué idioma está utilizando. En segundo lugar, se parece mucho a una tarea. ¿Qué has intentado hasta ahora? -

Suena como una pregunta de tarea: meta.stackexchange.com/questions/18242/… -

No haré tal cosa. Reformule su solicitud en términos de una pregunta, en lugar de como un pedido. El texto es obviamente un tipo de pregunta de tarea / examen, y si bien son bienvenidas aquí, solo son bienvenidas cuando a) delimitas con qué parte estás teniendo problemas yb) nos cuentas qué intentaste y cómo te fue. . -

2 Respuestas

obtenga la longitud / 2 y verifique las longitudes primero y luego, si las longitudes son iguales, invierta la primera mitad y compare con la segunda.

contestado el 16 de mayo de 11 a las 20:05

¿Puedes darme el programa en cualquier idioma? sumit sood

Función de ejemplo:

    private int TestMethod1(string str)
    {
        if (str.Length > 0)
        {
            if (str.Length % 2 != 0)
            {
                string strFront = string.Empty;
                for (int i = (str.Length / 2) - 1; i >= 0; i--)
                {
                    strFront += str.Substring(i, 1);
                }

                if (strFront.Equals(str.Substring((str.Length / 2) + 1)))
                {
                    return str.Length / 2;
                }
            }
        }
        return -1;
    }

respondido 31 mar '12, 14:03

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.