Junior — Middle
Qual è il modo più efficace per invertire una sequenza di caratteri?
sobes.tech AI
Risposta dell'AI
Il modo più efficiente per invertire una stringa in C/C++ è usare due puntatori che si muovono l'uno verso l'altro, scambiando i caratteri. Questo funziona in tempo O(n) e non richiede memoria aggiuntiva.
Esempio in C++:
#include <iostream>
#include <cstring>
void reverseString(char* str) {
int left = 0;
int right = strlen(str) - 1;
while (left < right) {
std::swap(str[left], str[right]);
left++;
right--;
}
}
int main() {
char s[] = "Hello, world!";
reverseString(s);
std::cout << s << std::endl; // !dlrow ,olleH
return 0;
}
Questo metodo è efficiente e facile da implementare.