题目:
给你一个字符串 s ,将该字符串中的大写字母转换成相同的小写字母,返回新的字符串。
示例 1:
输入:s = “Hello”
输出:“hello”
示例 2:
输入:s = “here”
输出:“here”
示例 3:
输入:s = “LOVELY”
输出:“lovely”
提示:
1 <= s.length <= 100
s 由 ASCII 字符集中的可打印字符组成
思路一:
直接调用自带的库函数 (= - =)
class Solution {
public String toLowerCase(String s) {
return s.toLowerCase();
}
}
思路二:
转换成数组 再转换成字符串
用数组进行中转
class Solution {
public String toLowerCase(String s) {
char []a=s.toCharArray();
for(int i=0;i<s.length();i++){
if(a[i]>='A'&&a[i]<='Z')
a[i]+=32;
}
return new String(a);
}
}
如果是字符串的长度 则为s.length()
如果是数组的长度,则为a.length
整体将字符串转换为数组,使用toCharArray()
如果将当个字符串的元素转换为数组,则使用toChar
字符串的输出为s.toString()
思路三:
设置一个数组变量 随时添加字符进行
如果是的话,还需要进行强转换
至于charAt的使用用法可参考
我上一篇文章
java中charAt用法详细分析(全)
class Solution {
public String toLowerCase(String s) {
StringBuffer ans=new StringBuffer();
System.out.println(s.charAt(0)+32);
for(int i=0;i<s.length();i++){
if(s.charAt(i)>='A'&&s.charAt(i)<='Z'){
ans.append((char)(s.charAt(i)+32));
}else{
ans.append(s.charAt(i));
}
}
return ans.toString();
}
}