找到一个算法,将所有大写字母放在Lowercases后面,相对顺序不会改变

时间:2012-09-29 16:30:17

标签: string algorithm

现在我有一个字符串,只包括大写字母和小写字母。我想将字符串更改为所有大写字母都位于小写框后面的形式,并且所有大写字母或小写字母的相对顺序不会更改。

例如,字符串“aAbBcCDd”更改为“abcdABCD”。字符串“aaAAAbb”变为“aabbAAA”。

如果我将字符串的长度定义为“N”,那么现在我的算法是O(NlogN)。但我想知道是否有一个算法花费更少的时间。当然,记忆也是有限的。记忆不依赖于长度是最奇妙的。

非常感谢!!!

1 个答案:

答案 0 :(得分:1)

算法:

输入:您的字符串为大写混合大写

输出:带小写然后大写的字符串(相对顺序未更改)

Create two temporary Strings
String lower
String upper

loop over each character in your Input String

if char is upper
   append to upper
if char is lower
   append to lower

return concatenation of lower + upper