您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“LeetCode中如何將字符串轉換成小寫形式”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“LeetCode中如何將字符串轉換成小寫形式”這篇文章吧。
實現一個算法,將字符串轉換成小寫形式。
看到這個題的時候,不知道你的思路是什么樣的,如果你熟悉 Python 里面的API,最先想到的可能就是直接使用 str.lower() 方法就可以實現。實際開發中可以這么做,不過,這道題的考察目的肯定不是這個。
def to_lower_case(text):
return text.lower()
你可能聯想到了字符的 ASCII 碼值,26個英文字母在 ASCII 中分別對應一個值,大寫的A~Z對應 ASCII 值65~90,小寫的a~z是97~122,而且它們都是連續的,同一個字母大小寫值相差 32,所以如果某個字母在65~90區間,那么將其加 32 就是對應的小寫字母。這里,ascii碼值與字母之間的互相轉換需要用到兩個函數 ord 和 chr
>>> ord('a')
97
>>> chr(97)
'a'
def to_lower_case(text):
new_text = ""
for c in text:
if 65 <= ord(c) <= 90:
c = chr(ord(c) + 32)
new_text += c
return new_text
第三種思路是這樣,如果你思考一下,26個字母大小寫都是一一對應的,每個大小字母都對應有一個小寫字母,這時你就可以遍歷每個字符判斷它是不是某個大寫字符,是的話,就找到對應的小寫字母就ok了。
類似這樣:
if c == 'A'
return 'a'
elif c == 'B'
return 'b'
elif
...
但是這樣寫,你要寫26個if條件,而更優雅的方式是使用字典來替代這種方式。 {“A”: “a”, “B”: ‘b’, ….}
def to_lower_case(s):
upper = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
lower = 'abcdefghijklmnopqrstuvwxyz'
d = dict(zip(upper, lower))
return "".join([d.get(i, i) for i in s])
以上是“LeetCode中如何將字符串轉換成小寫形式”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。