非常基本,我只是好奇其他人如何实现这个算法,并希望看看是否有任何聪明的技巧来优化算法......我只需要为我正在研究的项目实现这个.
鉴于CamelCase中有一个字符串,你会如何"区分"它呢?
例如,给予FooBarGork我想要Foo Bar Gork.
这是我在C#中的算法:
static void Main(string[] args)
{
Console.WriteLine(UnCamelCase("FooBarGork"));
}
public static string UnCamelCase(string str)
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < str.Length; i++)
{
if (char.IsUpper(str, i) && i > 0) sb.Append(" ");
sb.Append(str[i]);
}
return sb.ToString();
}
由于你必须访问每个角色一次,我相信最好的情况是O(n).你会如何实现这个?