1. 程式人生 > >【LeetCode】轉換成小寫字母

【LeetCode】轉換成小寫字母

實現函式 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

兩種方法的執行時間其實相差不多。但是上面的函式需要一些技巧,需掌握三個函式:

  1. ord():來獲取字元對應的編碼;
  2. chr():則是將編碼轉換為對應的字元;
  3. ''.join(l):表示將l這個list中的內容無縫拼接成一個字串。

這裡需要注意ord('a')是97,ord('A')是65,前者比後者大13,如想進一步提升速度,可以直接將程式碼中的(ord('a') - ord('A'))替換成13。