1、题目描述
给你一个字符串 s
,将该字符串中的大写字母转换成相同的小写字母,返回新的字符串。
2、算法分析
方法一:判断每个元素是否在‘A’ -- ‘Z’之间,在的话使用‘a’ -‘A’ 的ascell码差值32,ch += 32就可以。
方法二:也是类似,但是实现方式不同,arr[i] += 32;
方法三:直接使用API:s.toLowerCase();
3、代码实现
class Solution {
public String toLowerCase(String s) {
if(s == null || s.length() == 0){
return s;
}
char[] arr = s.toCharArray();
for(int i = 0;i < arr.length;i++){
// 遍历每一个元素,判断是否为大写字母
if(Character.isUpperCase(arr[i])){
// Ascell + 32 变小写
arr[i] += 32;
}
}
//String.valueOf(char[] data)
return String.valueOf(arr);
}
}
class Solution {
public String toLowerCase(String s) {
return s.toLowerCase();
}
}
class Solution {
public String toLowerCase(String s) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if ('A' <= c && c <= 'Z') {
c += 'a' - 'A';
}
sb.append(c);
}
return sb.toString();
}
}