LeetCode --- 字符串系列 --- 转换成小写字母

转换成小写字母

题目

实现函数 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
};
都读到最后了、留下个建议如何
原文地址:https://www.cnblogs.com/linjunfu/p/12638486.html