转换成小写字母
给你一个字符串
s
,将该字符串中的大写字母转换成相同的小写字母,返回新的字符串。
示例 1:
输入:s = "Hello" 输出:"hello"示例 2:
输入:s = "here" 输出:"here"示例 3:
输入:s = "LOVELY" 输出:"lovely"
分析
我们第一眼拿到这个题目可能就想有
String str=s.toLowerCase();
这样肯定是不行的,我们不能用已有的方法去套用。这样题目本身就失去了意义。
于是,我们就想到c语言时的方法,利用Ascll码来改变大小写。
‘a’='A'+32;
我们可以,利用改变字符串。
*******************************
在JAVA中,String是不能改变的。所以,我们不能在原有的String上进行改变,可以把它转换成一个数组
char[] arr=s.toCharArray();
成为数组,遍历使用ascll就可以了
for(int i=0;i<str.length;i++){
char tmp=str[i];
if(tmp>='A'&&tmp<='Z'){
str[i]+=32;
}
}
最后,再数组转字符串就可以了。
String str= new String(str);
完整代码
class Solution {
public String toLowerCase(String s) {
char[] str=s.toCharArray();
for(int i=0;i<str.length;i++){
char tmp=str[i];
if(tmp>='A'&&tmp<='Z'){
str[i]+=32;
}
}
return new String(str);
}
}