微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

LeetCode中如何将字符串转换成小写形式

这篇文章主要为大家展示了“LeetCode中如何将字符串转换成小写形式”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“LeetCode中如何将字符串转换成小写形式”这篇文章吧。

题目:

实现一个算法,将字符串转换成小写形式。 

方法

看到这个题的时候,不知道你的思路是什么样的,如果你熟悉 Python 里面的API,最先想到的可能就是直接使用 str.lower() 方法就可以实现。实际开发中可以这么做,不过,这道题的考察目的肯定不是这个。

def to_lower_case(text):
   return text.lower()

方法

你可能联想到了字符的 ASCII 码值,26个英文字母在 ASCII 中分别对应一个值,大写的A~Z对应 ASCII 值65~90,小写的a~z是97~122,而且它们都是连续的,同一个字母大小写值相差 32,所以如果某个字母在65~90区间,那么将其加 32 就是对应的小写字母。这里,ascii码值与字母之间的互相转换需要用到两个函数 ord 和 chr

>>> ord('a')
97
>>> chr(97)
'a'

LeetCode中如何将字符串转换成小写形式

def to_lower_case(text):
   new_text = ""
   for c in text:

       if 65 <= ord(c) <= 90:
           c = chr(ord(c) + 32)
       new_text += c

   return new_text

方法

第三种思路是这样,如果你思考一下,26个字母大小写都是一一对应的,每个大小字母都对应有一个小写字母,这时你就可以遍历每个字符判断它是不是某个大写字符,是的话,就找到对应的小写字母就ok了。

类似这样:

if c == 'A'
   return 'a'
elif c == 'B'
   return 'b'
elif
   ...

但是这样写,你要写26个if条件,而更优雅的方式是使用字典来替代这种方式。 {“A”: “a”, “B”: ‘b’, ….}

def to_lower_case(s):
   upper = 'ABCDEFGHIJKLMnopQRSTUVWXYZ'
   lower = 'abcdefghijklmnopqrstuvwxyz'
   d = dict(zip(upper, lower))
   return "".join([d.get(i, i) for i in s])

以上是“LeetCode中如何将字符串转换成小写形式”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程之家行业资讯频道!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐