709. To Lower Case (轉換成小寫字母)

2023/09/26閱讀時間約 2 分鐘


英文版點我中文版點我


↑看個小廣告,支持好內容↑



Hash Table

萬丈高樓平地起,大寫字母不過 26 個嘛,土法煉鋼做個索引總行吧:

map["A"]="a", map["B"]="b", map["C"]="c" ...​


逐字元跑個迴圈檢測,要是在索引裡取得到值,必定代表它是大寫的字母,要用其索引值 (小寫字母) 轉換,反之則照常輸出就行。

索引的取值 map["X"] 就像陣列取項一樣,複雜度 O(1),在演算上並不算是笨方法,但是否感覺手工寫了一堆程式 XD

❷ ASCII

有個可愛工具 ASCII 編碼能幫忙省工!

大、小寫字母的 ASCII 值相差 32

大、小寫字母的 ASCII 值相差 32

對每個字元 i,我們可透過 i.charCodeAt() 取得它的 ASCII 值,介在 65~90 的即為要被轉換的大寫字母。(備註:小寫則是 97~122,這些數字在字母處理的題目很好用,可以記起來!)

// 取得 ASCII 值
"A".charCodeAt() // 65

// 輸出 ASCII=65 的字碼
String.fromCharCode(65) // "A"


[補充] 事實上 Javascript 字串的大小比較,就是利用 ASCII 值判斷的喔:

// 兩種方式效果相同
"X">="A" && "X"<="Z"
"X".charCodeAt()>=65 && "X".charCodeAt()<=90


當然你要用 s.toLowerCase() 也不是不行啦 (沒,你面試這樣搞應該會被瞪


  • 本題分類標籤:String
  • 本題正解率=82.8%

❤️ 若內容對你實用,歡迎追蹤本專題,或小額贊助支持~
⭐ 這是我的第 3 篇刷題筆記,完整解題索引看這裡 → Here

54會員
57內容數
我要成為 LeetCode 王!快跟我一起踏上旅程!
留言0
查看全部
發表第一個留言支持創作者!