2023-09-26|閱讀時間 ‧ 約 22 分鐘

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


英文版點我中文版點我


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



Hash Table

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

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


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

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

❷ ASCII

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

大、小寫字母的 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

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.