Programa C para intercambiar caracteres adyacentes de una string

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:

  1. Comprueba si la longitud de la string es par o impar.
  2. Si la longitud es impar, no se puede realizar el intercambio.
  3. 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)

Publicación traducida automáticamente

Artículo escrito por Code_r y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *