Angella Andrea - Italian Blog

Infinita passione per lo sviluppo software !
posts - 133, comments - 216, trackbacks - 9

My Links

News

MIT OpenCourseWare: I'm invested Wikipedia Affiliate Button


Sto leggendo:

Archives

Post Categories

Siti web realizzati

Siti web tecnici

Algoritmi – Invertire una stringa


Problema:

Data una stringa, calcolare e ritornare una nuova stringa con gli stessi caratteri ma in ordine inverso.

Esempio: ABCDE
Risultato: EDCBA

Input:

Una stringa.

Output:

La stringa di input con i caratteri in ordine inverso.

Il mio ragionamento:

Costruisco un vettore di caratteri lungo quanto la stringa e lo riempio con un semplice ciclo for.

La mia soluzione:

public static string Reverse(string s)
{
    if (s == null) throw new ArgumentNullException("s");
    if (s.Length < 2) return s;

    char[] vc = new char[s.Length];

    int n = s.Length - 1;

    for (int i = 0; i <= n; ++i)
        vc[i] = s[n - i];

    return new String(vc);
}

Print | posted on Friday, September 3, 2010 12:39 AM | Filed Under [ Algoritmica ]

Feedback

Gravatar

# re: Algoritmi – Invertire una stringa

char[] array = value.ToCharArray();
Array.Reverse(array);
return new string(array);
9/3/2010 8:42 AM | Riccardo
Gravatar

# re: Algoritmi – Invertire una stringa

Se non ho capito male la serie di post, non credo che il suo scopo sia effettivamente invertire una stringa, ma implementare un algoritmo che lo faccia. Usare un metodo che lo fa al posto suo esula dallo scopo di questo post e dei precedenti.
9/3/2010 12:13 PM | Matteo Fontana
Gravatar

# re: Algoritmi – Invertire una stringa

@Matteo: Agree :)
@Riccardo: another fast way: string.Join(string.Empty, str.ToCharArray().Reverse());
9/3/2010 12:58 PM | Matteo Migliore
Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET