public void ReverseString(char[] s)
{
char savedElem;
for (int i = 0; i < s.Length - i; i++)
{
savedElem = s[i];
s[i] = s[s.Length - 1 - i];
s[s.Length - 1 - i] = savedElem;
}
}
我是否正确地确定该算法的空间复杂度为 O(1)?
public void ReverseString(char[] s)
{
char savedElem;
for (int i = 0; i < s.Length - i; i++)
{
savedElem = s[i];
s[i] = s[s.Length - 1 - i];
s[s.Length - 1 - i] = savedElem;
}
}
我是否正确地确定该算法的空间复杂度为 O(1)?
在这种情况下,使用两个附加变量。它们的大小和数量不取决于传递数组中的元素数量。
因此
space complexity
它将是常数并被描述O(1)