题目:
709.转换成小写字母
实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串。
示例 1:
输入: "Hello"
输出: "hello"
示例 2:
输入: "here"
输出: "here"
示例 3:
输入: "LOVELY"
输出: "lovely"
解题思路1:
利用Python内置函数lower() 方法转换字符串中所有大写字符为小写。
str.lower()
代码1:
class Solution:
def toLowerCase(self, str: str) -> str:
return str.lower()
解题思路2:
利用ASCII码大写字母和小写字母转换相差32。ASCII码表中A-Z对应65-90,a-z对应97-122。
chr() 用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符。
ord() 函数是 chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值,如果所给的 Unicode 字符超出了你的 Python 定义范围,则会引发一个 TypeError 的异常。
代码2:
class Solution:
def toLowerCase(self, str: str) -> str:
l = []
for i in str:
if 65 <= ord(i) <= 90:
l.append(chr(ord(i) + 32))
else:
l.append(i)
return ''.join(l)
解题思路3:
利用字典键值一一对应,创建一个字典,将26个字母的大小写对应输入,再利用字典的内置函数.get()函数返回指定键的值。
代码3:
class Solution:
def toLowerCase(self, str: str) -> str:
dic = {
'A':'a', 'B':'b', 'C':'c', 'D':'d', 'E':'e', 'F':'f',
'G':'g', 'H':'h', 'I':'i', 'J':'j', 'K':'k', 'L':'l',
'M':'m', 'N':'n', 'O':'o', 'P':'p', 'Q':'q','R':'r',
'S':'s', 'T':'t', 'U':'u', 'V':'v', 'W':'w', 'X':'x',
'Y':'y', 'Z':'z'
}
l = []
for i in str:
if dic.get(i):
l.append(dic[i])
else:
l.append(i)
return ''.join(l)
提交记录: