题目描述:
实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串。
示例 1:
输入: “Hello”
输出: “hello”
示例 2:
输入: “here”
输出: “here”
示例 3:
输入: “LOVELY”
输出: “lovely”
解题过程:
直接得出:
class Solution:
def toLowerCase(self, str: str) -> str:
return str.lower()
然而直接使用函数,这么做虽然快但是学不到东西啊,再说时间和空间复杂度也较高。于是翻评论区发现大家都是用ACSII码解的题,python3另解如下:
class Solution:
def toLowerCase(self, str: str) -> str:
new_ch_list=[]
for ch in str:
if 65<=ord(ch)<97:
new_ch_list.append(chr(ord(ch)+32))
else:
new_ch_list.append(ch)
return "".join(new_ch_list)
此处首先创建了一个新列表;然后遍历整个字符串,使用if和else指令通过ACSII码大小判断各个字符大小写;接着变化大写字符ASCII码+32为小写字符,添加入列表;最后使用join指令连接起列表,使之返回新的字符串。
第二个解法虽然复杂一点点,但还是减少了一丢丢计算机的时间复杂度~