【LeetCode】轉換成小寫字母
阿新 • • 發佈:2019-01-05
實現函式 ToLowerCase()
,該函式接收一個字串引數 str
,並將該字串中的大寫字母轉換成小寫字母,之後返回新的字串。
示例 1:
輸入: “Hello”
輸出: “hello”
示例 2:
輸入: “here”
輸出: “here”
示例 3:
輸入: “LOVELY”
輸出: “lovely”
Python解法1(有點作弊)
def toLowerCase(str):
return str.lower() # 轉化為小寫字母
耗時:44ms
其實真正寫程式碼不能這樣寫,這相當於直接呼叫Python中的函式。與之對應的還有轉化為大寫字母的函式:str.upper()
str.title()
;第一個字母轉化為大寫字母,其餘小寫:str.capitalize()
。
Python解法2
def toLowerCase(str):
l = []
for s in str:
if(ord(s) < 97):
l.append(chr(ord(s) + (ord('a') - ord('A'))))
else:
l.append(s)
return ''.join(l)
耗時:44ms
兩種方法的執行時間其實相差不多。但是上面的函式需要一些技巧,需掌握三個函式:
ord()
:來獲取字元對應的編碼;chr()
:則是將編碼轉換為對應的字元;''.join(l)
:表示將l
這個list中的內容無縫拼接成一個字串。
這裡需要注意ord('a')
是97,ord('A')
是65,前者比後者大13,如想進一步提升速度,可以直接將程式碼中的(ord('a') - ord('A'))
替換成13。