網頁

2018/12/10

LeetCode To Lower Case 大寫英文字母轉小寫英文字母

本篇為LeetCode上演算法的簡單問題,To Lower Case

Java String雖然就有toLowerCase()方法了,但聽說直接用ASCII table來換算更快。

ASCII table上英文大寫和小寫的十進位值剛好差了32,至於不在大寫英文範圍內的字符就直接忽略。算法如下:

public static String toLowerCase(String str) {
    char[] chars = new char[str.length()];
    chars = str.toCharArray();
    
    StringBuilder sb = new StringBuilder();
    for(char c : chars) {
        if((int)c <= 90 && (int)c >= 65 ) {
           c = (char)((int)c + 32);
        }
        sb.append(c);
    }

    return sb.toString();
}

參考:

沒有留言:

張貼留言