转换成小写字母
题目
实现函数 ToLowerCase(),该函数接收一个字符串参数 str
并将该字符串中的大写字母转换成小写字母,之后返回新的字符串。
示例
示例 1:
输入: "Hello"
输出: "hello"
示例 2:
输入: "here"
输出: "here"
示例 3:
输入: "LOVELY"
输出: "lovely"
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/to-lower-case/
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解题思路
1、使用 JavaScript 原生提供的转换小写 API, string.toLowerCase()
或者
1、
使用字符编码对应的数值位差
`大写字符` A-Z 对应的是 65 - 90
`小写字符` a-z 对应的是 97 - 122
A 与 a 的数值位差为 32
2、
定义一个变量 lowerstr = ''
循环遍历字符串 `chars`
使用 char.charCodeAt() 拿到字符 char 对应的数值 strNum ,
判断是否处于 A-Z , 即 65 - 90 之间;
若是,则使用 String.fromCharCode(strNum + 数值位差) 拿到对应的 `小写字符`, 使用 lowerstr 进行拼接
若不是,直接使用 lowerstr 进行拼接
题解
let toLowerCase = function(str) {
return str.toLowerCase()
};
或者
let toLowerCase = function(str) {
let lowerstr = ''
// 循环遍历字符串 `str`
for (let i = 0; i < str.length; i++) {
// 使用 char.charCodeAt() 拿到字符 char 对应的数值 strNum
let strNum = str[i].charCodeAt()
// 判断是否处于 A-Z , 即 65 - 90 之间;
if (strNum >= 65 && strNum <= 90) {
// 使用 String.fromCharCode(strNum + 数值位差) 拿到对应的 `小写字符`
lowerstr += String.fromCharCode(strNum + 32)
} else{
lowerstr += str[i]
}
}
return lowerstr
};