Dada una string str, la tarea es intercambiar caracteres adyacentes de esta string en C. Ejemplos:
Input: str = "geeks" Output: NA Not possible as the string length is odd Input: str = "geek" Output: egke
Acercarse:
- Comprueba si la longitud de la string es par o impar.
- Si la longitud es impar, no se puede realizar el intercambio.
- Si la longitud es pareja, tome cada carácter de la string uno por uno e intercámbielo con el carácter adyacente.
A continuación se muestra la implementación del enfoque anterior:
C
// C program to swap // adjacent characters of a String #include <stdio.h> #include <string.h> // Function to swap adjacent characters void swap(char* str) { char c = 0; int length = 0, i = 0; // Find the length of the string length = strlen(str); // Check if the length of the string // is even or odd if (length % 2 == 0) { // swap the characters with // the adjacent character for (i = 0; i < length; i += 2) { c = str[i]; str[i] = str[i + 1]; str[i + 1] = c; } // Print the swapped character string printf("%s\n", str); } else { // Print NA as the string length is odd printf("NA\n"); } } // Driver code int main() { // Get the string char str1[] = "Geek"; char str2[] = "Geeks"; swap(str1); swap(str2); return 0; }
Producción:
eGke NA
Complejidad del tiempo: O(longitud(str))
Espacio auxiliar: O(1)