| #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 |