【python】对由大小写字母组成的字符数组排序?

题目:有一个由大小写字母组成字符串,请对它进行重新组合,使得其中的所有小写字母排在大写字母的前面(大小写母或小写字母之间不要求保持原来次序)。

分析:用两个索引分别指向字符串的首和尾,首索引正向遍历字符串,找到第一个大写字母,尾索引逆向遍历字符串,找到第一个小写字母,交换两个索引位置的字符,然后将两个索引沿着相应的方向继续向前移动,重复上述步骤,直到首索引大于或等于尾索引为止。

code:
def ReverseArray(ch):

    lens = len(ch)

    begin = 0

    end = lens - 1

    while begin < end:

        while ch[begin] >= 'a' and ch[end] <= 'z' and end > begin:

            begin += 1

        while ch[end] >= 'A' and ch[end] <= 'Z' and end > begin:

            end -= 1

        temp = ch[begin]

        ch[begin] = ch[end]

        ch[end] = temp

if __name__ == "__main__":

    ch = list("AbcDef")

    ReverseArray(ch)

    i = 0

    while i < len(ch):

        print(ch[i])

        i += 1

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 8,703评论 0 2
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 14,734评论 0 38
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 9,941评论 0 5
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 10,788评论 0 9
  • 转载 原文的排版和内容都更加友好,并且详细,我只是在这里贴出了一部分留作自己以后参考和学习,如希望更详细了解AWK...
    XKirk阅读 8,487评论 2 25