LeetCode709-转换成小写字母

LeetCode709-转换成小写字母

直接用API

1
2
3
public String toLowerCase(String s) {
return s.toLowerCase();
}

位运算

[a-z]与[A-Z]十进制相差32
可以使用或运算代替加法,或运算有1为1,都为0才为0
1 0 0 0 0 0 1 —-65的二进制

0 1 0 0 0 0 0 —-32的二进制

1 1 0 0 0 0 1 —-97的二进制

1
2
3
4
5
6
7
8
9
10
11
public String toLowerCase(String s) {
StringBuffer res = new StringBuffer();
for (int i = 0; i < s.length(); i++) {
char ch = s.charAt(i);
if (ch >= 65 && ch <= 90) {
ch |= 32;
}
res.append(ch);
}
return res.toString();
}

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!