From 3f71d9418a8521ed0421bc88ad011e42225d5721 Mon Sep 17 00:00:00 2001 From: MarcUs7i Date: Sat, 11 Jan 2025 00:11:49 +0100 Subject: [PATCH] implement recursive and iterative functions to reverse a string --- reverse_string.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/reverse_string.c b/reverse_string.c index 48eef76..f525b3c 100644 --- a/reverse_string.c +++ b/reverse_string.c @@ -24,10 +24,24 @@ Note that strings that are stored on heap or stack are provided - they can be di // TODO: the recursive implementation void reverse_string_recursive(char* str, int start, int end) { - return; + if(start >= end) { + return; + } + + char temp = str[start]; + str[start] = str[end]; + str[end] = temp; + start++; + end--; + reverse_string_recursive(str, start, end); } -// TODO: the iterative implementation void reverse_string_iterative(char* str, int start, int end) { - return; + while(start < end) { + char temp = str[start]; + str[start] = str[end]; + str[end] = temp; + start++; + end--; + } } \ No newline at end of file