| @@ -0,0 +1,21 @@ | |||
| #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; | |||
| } | |||
| @@ -0,0 +1,18 @@ | |||
| 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"] | |||
| @@ -0,0 +1,5 @@ | |||
| #!/bin/bash | |||
| gcc -o main main.c | |||
| ./main | |||
| rm main | |||