Junior — Middle
123
Care este cea mai eficientă modalitate de a inversa o secvență de caractere?
Companiile au fost întrebate
Astra
Răspuns de la AI
sobes.tech AI
Самый эффективный способ развернуть строку в обратном порядке в C/C++ — использовать два указателя, которые движутся навстречу друг другу, меняя символы местами. Это работает за время O(n) и не требует дополнительной памяти.
Пример на 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;
}
Такой подход эффективен и прост в реализации.