我不知道我怎么不想直接回答我想知道我怎么能。 非常感谢提前。
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Enter a word or sentence to be reversed: ");
string str = Console.ReadLine();
Console.WriteLine("**********");
Console.WriteLine("Your input is: ");
Console.WriteLine(str);
Console.ReadLine();//to give a little bit space between the outputs
Console.WriteLine("************");
Console.WriteLine("And it will be reversed as : ");
//call the Recursive Function in the class Recursive
str = Recursive.Recursive_Func(str);
Console.WriteLine(str);
Console.ReadLine();
}
}
我们使用Substring从字符串中的n-1索引进行打印
并以字符串中的第一个索引结束它[0]。
class Recursive
{
public static string Recursive_Func(string str)
{
if (str.Length <= 1) //the program base case
{
return str;
}
else
{
return Recursive_Func(str.Substring(1)) + str[0];
}
}
}
答案 0 :(得分:-1)
好的,所以用英语。我在说什么...我相信下一个答案更简单易懂...而且行之有效!!!
public static string MyReverse(string s)
{
if (s.Length == 1)
{
return s;
}
var firstLetter = s[0];
return MyReverse(s.Substring(1)) + firstLetter;
}