string - 找到一种将所有大写字母放在小写字母后面且相对顺序不变的算法

标签 string algorithm

现在我有一个只包含大写和小写的字符串。我想把字符串改成大写在小写后面的形式,并且所有大写或小写的相对顺序不变。

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

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

非常感谢!!!

最佳答案

算法:

输入:大小写混合的字符串

输出:先小写再大写的字符串(相对顺序不变)

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

关于string - 找到一种将所有大写字母放在小写字母后面且相对顺序不变的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12654390/

相关文章:

algorithm - 合并排序中插入排序的最坏情况时间是多少?

从代码转换为递归关系

c - 排序算法的错误行为

algorithm - 使用 Bailey–Borwein–Plouffe (BBP) 公式计算 pi 的第 n 位

string - 按照要求的格式在 go lang 中将 float 转换为 string 。

javascript - 在 JavaScript 中删除除 last 之外的特定单词?

string - 批处理文件字符串操作

algorithm - 跟随鼠标加减速

c - 如何在c中的同一行上打印两个字符串

无法解释 C 中简单字符串操作的输出