String in reverse order (recursion)
Given a string, write a method that prints it in reverse order.
Expected input and output
StringInReverseOrderRecursion("abcde") → "edcba"
StringInReverseOrderRecursion("Sed lectus est, elementum ut urna eu") → "ue anru tu mutnemele ,tse sutcel deS"
using System;
namespace CSharpExercises.Exercises.Recursion
{
class StringInReverseOrderRecursionTask
{
static string StringInReverseOrderRecursion(string str)
{
return str.Length > 0 ? str[str.Length - 1] + StringInReverseOrderRecursion(str.Substring(0, str.Length - 1)) : str;
}
static void Main(string[] args)
{
var str1 = "A";
var str2 = "34 ( 9 9@*";
var str3 = "eMpIrE";
var str4 = string.Empty;
Console.WriteLine(StringInReverseOrderRecursion(str1)); // A
Console.WriteLine(StringInReverseOrderRecursion(str2)); // *@9 9 ( 43
Console.WriteLine(StringInReverseOrderRecursion(str3)); // ErIpMe
Console.WriteLine(StringInReverseOrderRecursion(str4)); //
}
}
}