题目地址:https://leetcode-cn.com/problems/to-lower-case/description/
题目描述:
实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串。
示例 1:
输入: "Hello" 输出: "hello"
示例 2:
输入: "here" 输出: "here"
示例 3:
输入: "LOVELY" 输出: "lovely"
public String toLowerCase(String str) {
char[] chars = str.toCharArray();
String result = "";
for(char c:chars){
if(c>64&&c<91){
c = (char)((c + 32);
}
result = result + c;
}
return result;
}
思考总结:
1、char和int计算的时候会转换为int,计算后在赋值给char的时候不会自动转回,需要使用强制类型转换
2、String和char之间进行拼接的时候可以使用 + 进行拼接。
详细的分析见连接https://www.cnblogs.com/twzheng/p/5923642.html
直接使用结论,使用StringBuilder.append()函数的效率最好。所以代码更新如下
public String toLowerCase(String str) {
char[] chars = str.toCharArray();
StringBuilder result = new StringBuilder();
for(char c:chars){
if(c>64&&c<91){
c = (char)(c + 32);
}
//result = result + c;
result.append(c);
}
return result.toString();
}