#include <stdio.h> | |||||
#include <stdlib.h> | |||||
void reverseString(char* s, int sSize){ | |||||
int end = sSize - 1; | |||||
int start = 0; | |||||
char temp; | |||||
while (end > start) { | |||||
temp = s[start]; | |||||
s[start++] = s[end]; | |||||
s[end--] = temp; | |||||
} | |||||
} | |||||
int main() { | |||||
printf("Expected: olleH\n"); | |||||
char str[] = "Hello"; | |||||
reverseString(str, 5); | |||||
printf("Got: %s\n", str); | |||||
return 0; | |||||
} |
Write a function that reverses a string. The input string is given as an array of characters char[]. | |||||
Do not allocate extra space for another array, you must do this by modifying the input array in-place with O(1) extra memory. | |||||
You may assume all the characters consist of printable ascii characters. | |||||
Example 1: | |||||
Input: ["h","e","l","l","o"] | |||||
Output: ["o","l","l","e","h"] | |||||
Example 2: | |||||
Input: ["H","a","n","n","a","h"] | |||||
Output: ["h","a","n","n","a","H"] | |||||
#!/bin/bash | |||||
gcc -o main main.c | |||||
./main | |||||
rm main |