gpt4 book ai didi

c# - C# 中的递归与迭代

转载 作者:行者123 更新时间:2023-11-30 21:09:52 24 4
gpt4 key购买 nike

在最近的一次采访中有人问我一个问题,即编写一个递归函数来反转字符串,以及对于这个特定算法,迭代版本是否优于递归版本。我不确定递归解决方案比迭代解决方案如何更差/更好。谁能帮助我理解这一点?

下面的代码不是尾递归吗?

public static string Reverse(string str)
{
return (str.Length <= 1 ? str : str[str.Length - 1]
+ Reverse(str.Substring(0, str.Length - 1)));
}

最佳答案

不能保证任何东西都将使用尾递归进行编译(尽管 x64 .net 似乎更倾向于这样做)。如果字符串很长,您将用完堆栈。

关于c# - C# 中的递归与迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8817545/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com