这道题是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. 简述UML类图

    注:本文摘自刘伟老师的博客http://blog.csdn.net/lovelion/article/details/7838679,如有侵权,请联系本人! 1.类的UML图示 在UML中,类使用包含 ...

  2. eclipse的hadoop插件对集群操作提示org.apache.hadoop.security.AccessControlException:Permission denied

    eclipse的hadoop插件对集群操作提示org.apache.hadoop.security.AccessControlException:Permission denied: user = z ...

  3. Windows系统下如何优化Android Studio

    Android Studio将是Android开发大势所趋. 安装Android Studio时需注意的细节: · 找到安装目录bin目录下idea.properties 最后一行加入:    dis ...

  4. Android学习总结(十七) ———— Handler 的使用

    一.基本概念  handler通俗一点讲就是用来在各个线程之间发送数据的处理对象.在任何线程中,只要获得了另一个线程的handler,则可以通过  handler.sendMessage(messag ...

  5. HDU 1398 Square Coins 平方硬币 (普通母函数,水)

    题意: 有17种硬币,每种的面值为编号的平方,比如 1,4,9,16.....给出一个数字,求组成这个面值有多少种组法? 思路: 用普通母函数解,主要做的就是模拟乘法,因为硬币是无限的,所以每个构造式 ...

  6. 使用javap深入理解Java整型常量和整型变量的区别

    我下图代码第五行和第九行分别定义了一个整型变量和一个整型常量: static final int number1 = 512; static int number3 = 545; Java程序员都知道 ...

  7. block总结

    3.编译器中的block 3.1 block的数据结构定义 我们通过大师文章中的一张图来说明: 上图这个结构是在栈中的结构,我们来看看对应的结构体定义: 1 2 3 4 5 6 7 8 9 10 11 ...

  8. WPF中窗体调用窗体

    在WPF中有时候我们需要在一个窗体中去调用另外的一个窗体,下面给出调用方法. 下面实现在MainWindow中通过点击一个按钮调用另外的一个窗口. 首先创建你要调用的另外一个窗口:点击最上面的项目  ...

  9. python 实例方法,类方法,静态方法,普通函数

    python中有实例方法,类方法,静态方法,普通函数 类方法需要@ classmethod 修饰并且有个隐藏参数 cls,实例方法必须有个参数 self, 静态方法必须有 @staticmethod修 ...

  10. WINDOWS-API:取得当前用户账户名-GetUserName

    bool TFormMain::GetCurrentProcessUser(AnsiString& strUserName) { bool bRet = false; //strUserNam ...