zoukankan      html  css  js  c++  java
  • 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
    };
    
    都读到最后了、留下个建议如何
  • 相关阅读:
    《javascript高级程序设计》第三章 Language Basics
    开发工具之Eclipse(三)
    开发工具之Eclipse(二)
    开发工具之Eclipse(一)
    hashCode()与toString()
    equals函数的作用
    类集框架(三)
    S01E03 搭建Android开发环境
    S01E02 Android发展史
    S01E01 第一季(重制版)课程介绍
  • 原文地址:https://www.cnblogs.com/linjunfu/p/12638486.html
Copyright © 2011-2022 走看看