zoukankan      html  css  js  c++  java
  • 用Python实现 有一个大小写做成的字符串 ,将其修改所有的小写字母排在大写字母前面

    def get_lower_upper_letter(list_data):
        """
            有一个大小写做成的字符串 ,将其修改所有的小写字母排在大写字母前面(大写或小写字母之间不要求保持原来次序)
            如果可以进来选择时间和空间效率高的算法
    
        :return:
        """
        # list_lower = []
        # list_upper = []
        # for i in range(len(str_data)):
        #     if ord("a") <= ord(str_data[i]) and ord(str_data[i]) <= ord("z"):
        #         list_lower.append(str_data[i])
        #     if ord("A") <= ord(str_data[i]) and ord(str_data[i]) <= ord("Z"):
        #         list_upper.append(str_data[i])
        #
        # str_res = "".join(list_lower+list_upper)
        # print(str_res)
    
        i = 0
        j = len(list_data) - 1
        while i <= j:
            while i <= j and ord("a") <= ord(list_data[i]) and ord(list_data[i]) <= ord("z"):
                i += 1
            while i <= j and ord("A") <= ord(list_data[j]) and ord(list_data[j]) <= ord("Z"):
                j -= 1
    
            # 注意,一定要有这个判定条件
            if i <= j:
                list_data[i], list_data[j] = list_data[j], list_data[i]
    
        return "".join(list_data)
    
    if __name__ == '__main__':
        # nqwjidadaslmdHUIHUJIJOJJOJIJQM
        print(get_lower_upper_letter(list("nqwjiHUIHUdaJIJOJdaslmdJOJIJQM")))
    

      

  • 相关阅读:
    MyEclipse或者Eclipse内存溢出问题
    关于分布式事务、两阶段提交协议、三阶提交协议
    Linux查看CPU和内存使用情况(转)
    Linux中设定umask的作用
    Linux解决乱码问题
    Vi编辑器的使用
    Eclipse的SVN插件下载
    Netty 入门初体验
    聊聊spring的那些扩展机制
    FreeMarker入门
  • 原文地址:https://www.cnblogs.com/hxiaoli/p/8393045.html
Copyright © 2011-2022 走看看