给你一个字符串 s
,将该字符串中的大写字母转换成相同的小写字母,返回新的字符串。
示例 1:
输入:s = "Hello" 输出:"hello"
示例 2:
输入:s = "here" 输出:"here"
示例 3:
输入:s = "LOVELY" 输出:"lovely"
提示:
1 <= s.length <= 100
s
由 ASCII 字符集中的可打印字符组成
class Solution:
def toLowerCase(self, s: str) -> str:
result = []
for char in s:
if 'A' <= char <= 'Z': # 检查是否是大写字母
result.append(chr(ord(char) + 32)) # 转换为小写字母
else:
result.append(char) # 保留原字符
return ''.join(result)
- 使用
ord(char)
获取字符的 ASCII 码,chr()
将 ASCII 码转换为字符。'A' <= char <= 'Z'
检查字符是否是大写字母。大写字母 A - Z 的 ASCII 码范围为 [65,90]:
小写字母 a - z 的 ASCII 码范围为 [97,122]。
因此,如果我们发现 ch 的 ASCII 码在 [65,90] 的范围内,那么我们将它的 ASCII 码增加 32,即可得到对应的小写字母。
- 大写字母与小写字母之间的 ASCII 码差为 32,通过
ord(char) + 32
将大写字母转换为小写字母。