这道题是LeetCode里的第709道题。

题目要求:

实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串。

示例 1:

输入: "Hello"
输出: "hello"

示例 2:

输入: "here"
输出: "here"

示例 3:

输入: "LOVELY"
输出: "lovely"

这么简单的题,还要啥解析啊!

解题代码:

class Solution {
public:
string toLowerCase(string str) {
string res;
for(int i=0;i<str.length();i++){
if(str[i]>='A'&&str[i]<='Z')
res+=str[i]+32;
else
res+=str[i];
}
return res;
}
};

提交结果:

个人总结:

这是我 LeetCode 中文版的第一道题。说说我的做题方法:先分析哪些要点,在纸质笔记本上记下来,然后针对要点查资料写解决方法,然后写代码,在本地测试通过后再提交,一次过,感觉不错!做好做题的笔记很重要!关键点想全了,写代码会很快,分析为 8,写代码为 2,28 法则!

哦忘了,我这道题还先用 windows 自带的画图功能,画了一张内存图。

这题简单到题友都怀疑人生了!

func toLowerCase(str string) string {
letter := map[byte]byte{
'A': 'a',
'B': 'b',
'C': 'c',
'D': 'd',
'E': 'e',
'F': 'f',
'G': 'g',
'H': 'h',
'I': 'i',
'J': 'j',
'K': 'k',
'L': 'l',
'M': 'm',
'N': 'n',
'O': 'o',
'P': 'p',
'Q': 'q',
'R': 'r',
'S': 's',
'T': 't',
'U': 'u',
'V': 'v',
'W': 'w',
'X': 'x',
'Y': 'y',
'Z': 'z',
} byteStr := []byte(str) for i := 0; i < len(byteStr); i++ {
if val, ok := letter[byteStr[i]]; ok {
byteStr[i] = val
} } return string(byteStr)
}

↑↑↑这是 Go 语言的狼人解法。↑↑↑

/**
* @param {string} str
* @return {string}
*/
var toLowerCase = function(str) {
return str.toLowerCase()
};

↑↑↑这是 JavaScript 的懒人解法。↑↑↑

# @param {String} str
# @return {String}
def to_lower_case(str)
down = "abcdefghijklmnopqrstuvwxyz"
up = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
result = ""
str.each_char do |char|
if up.include?(char)
char = down[up.index(char)]
result << char
else
result << char
end
end
return result
end

↑↑↑很奇特的 Ruby 解法。↑↑↑

/**
* @param {string} str
* @return {string}
*/
var toLowerCase = function(str) {
return str.split('').map( i => String.fromCharCode(i.charCodeAt()|32) ).join('')
};

↑↑↑看不懂的 JavaScript 解法。↑↑↑

class Solution:
def toLowerCase(self, str: str) -> str:
trans = str.maketrans('ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')
return str.translate(trans)

↑↑↑看不懂的 Python 3 解法。↑↑↑

/**
* @param {string} str
* @return {string}
*/
var toLowerCase = function(str) {
// let chars = str.split(''); // chars.forEach((char) => {
// if (char >= 'A') {
// char -= 'A'
// }
// })
return str.toLowerCase();
};

↑↑↑JavaScript 范例解法hhh。↑↑↑

/**
* @param {string} str
* @return {string}
*/
var toLowerCase = function(str) {
str = [...str];
for(let i = 0 ; i < str.length ; i++){
str[i] = str[i].charCodeAt();
str[i] = str[i] |= 32;
str[i] = String.fromCharCode(str[i]);
}
return str.join("");
};

↑↑↑JavaScript 位运算解法。↑↑↑

【LeetCode】To Lower Case(转换成小写字母)的更多相关文章

  1. Leetcode709.To Lower Case转换成小写字母

    实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串. 示例 1: 输入: "Hello" 输出: & ...

  2. LeetCode 709. To Lower Case (转换成小写字母)

    题目标签:String 题目让我们把大写字母转换成小写,只要遇到的是大写字母,把它 + 32 变成 小写就可以了. Java Solution: Runtime beats 100.00% 完成日期: ...

  3. Leetcode#709. To Lower Case(转换成小写字母)

    题目描述 实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串. 示例 1: 输入: "Hello" ...

  4. [Swift]LeetCode709. 转换成小写字母 | To Lower Case

    Implement function ToLowerCase() that has a string parameter str, and returns the same string in low ...

  5. 力扣(LeetCode)709. 转换成小写字母

    实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串. 示例 1: 输入: "Hello" 输出: & ...

  6. Java实现 LeetCode 709 转换成小写字母(ASCII码处理)

    709. 转换成小写字母 实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串. 示例 1: 输入: "Hell ...

  7. HDOJ/HDU 1161 Eddy's mistakes(大写字母转换成小写字母)

    Problem Description Eddy usually writes articles ,but he likes mixing the English letter uses, for e ...

  8. shell中把大写字母转换成小写字母

    shell中把大写字母转换成小写字母 参考:http://www.jb51.net/article/40257.htm echo "AABBCC" | tr "[:upp ...

  9. PHP算法之转换成小写字母

    实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串. 示例 1: 输入: "Hello"输出: &q ...

随机推荐

  1. DDX_Text详细用法

    void AFXAPI DDX_Text( CDataExchange* pDX, int nIDC, BYTE& value ); void AFXAPI DDX_Text( CDataEx ...

  2. P1816 忠诚 倍增

    链接:https://www.luogu.org/problem/show?pid=1816 题目描述 老管家是一个聪明能干的人.他为财主工作了整整10年,财主为了让自已账目更加清楚.要求管家每天记k ...

  3. .aspx IIS发布404.17时候的问题

    .aspx IIS发布404.17时候的问题 在发布aspx的时候遇到问题利用网上的cmd加入注册表没有效果 在加入了MIME中加入.aspx和application/.aspx之后却变成了下载文件 ...

  4. 谈谈我理解的Http缓存机制

    前几天看到老铁们分享的面经,谈到 http 缓存机制的问题,痛下决心,一口气研究个明白,分享给大家. 前端的发展越来越迅速,能做的事情越来越多,承担的责任越来越重,通过了解 http 缓存机制,可以帮 ...

  5. dos命令-环境变量-数据类型-命名规范

    JAVA第一天笔记--dos命令-环境变量-数据类型-命名规范 1.能够阐述JDK和JRE之间区别 JDK(Java Development Kit)是提供给开发人员使用的JAVA开发工具包(java ...

  6. Windows64+Python27下配置matplotlib

    注:转载请注明原作者并附上原文链接! 网上看了很多方法,均遇到这样或者那样的问题导致安装失败,最后自己摸索一条方法,最终安装成功了. 1,首先安装numpy,这个可以选择install安装包,很简单, ...

  7. Python 字符编码问题的处理

    python中的字符编码问题往往是初学者容易弄不明白的问题, 要想将这个问题搞清楚,需要先弄明白以下的概念 decode 和 encode 函数的作用 字符串字面量的编码格式 decode(str)  ...

  8. spfa模板+讲解

    zz http://blog.sina.com.cn/s/blog_6ad20aef0100mc1a.html Spfa算法 (模板源代码) 这是Bellman Ford的改进算法.    算法介绍: ...

  9. CPP-基础:strcpy之于C++(

    以下对strcpy函数错误的是? char atr1[]="string"; ]; char *str3; char *str4="sting"; A.strc ...

  10. 利用VS自带的命令行工具查看和生产PublicKeyToken

    使用VS2008(或其他版本)命令行工具,键入:SN -T C:\*****.dll 就会显示出该dll具体的PublicKeyToken数值. 如果该程序集没有强命 名,则不会有PublicKeyT ...