【LeetCode】To Lower Case(转换成小写字母)
这道题是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(转换成小写字母)的更多相关文章
- Leetcode709.To Lower Case转换成小写字母
实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串. 示例 1: 输入: "Hello" 输出: & ...
- LeetCode 709. To Lower Case (转换成小写字母)
题目标签:String 题目让我们把大写字母转换成小写,只要遇到的是大写字母,把它 + 32 变成 小写就可以了. Java Solution: Runtime beats 100.00% 完成日期: ...
- Leetcode#709. To Lower Case(转换成小写字母)
题目描述 实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串. 示例 1: 输入: "Hello" ...
- [Swift]LeetCode709. 转换成小写字母 | To Lower Case
Implement function ToLowerCase() that has a string parameter str, and returns the same string in low ...
- 力扣(LeetCode)709. 转换成小写字母
实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串. 示例 1: 输入: "Hello" 输出: & ...
- Java实现 LeetCode 709 转换成小写字母(ASCII码处理)
709. 转换成小写字母 实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串. 示例 1: 输入: "Hell ...
- HDOJ/HDU 1161 Eddy's mistakes(大写字母转换成小写字母)
Problem Description Eddy usually writes articles ,but he likes mixing the English letter uses, for e ...
- shell中把大写字母转换成小写字母
shell中把大写字母转换成小写字母 参考:http://www.jb51.net/article/40257.htm echo "AABBCC" | tr "[:upp ...
- PHP算法之转换成小写字母
实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串. 示例 1: 输入: "Hello"输出: &q ...
随机推荐
- 海德汉S3078长度计
手头有一款海德汉S3078的增量式长度计. 图三为长度计引出线缆的针脚编号,其中,Up和传感器Up短路,0V与传感器0V短路,其他为输出信号线缆.时序如图: Ua1和Ua2两个信号的相位,可以得出长度 ...
- React项目搭建基于Karma的CI环境
简介 在浏览Github的时候是否经常看到这样的CI图标呢? 本文即为介绍如何为基于React的项目配置CircleCI的自动化测试环境 源码在此 本地实现 项目依赖如下: "devDepe ...
- 如何尽量避免引用jQuery
Introduction 正如jQuery所宣称的一样,Write Less, Do More.很多时候我们喜欢用它来解决问题.但增加一个库必然意味着更大的网络负担,意味着更高的页面初始载入时间.并且 ...
- 实现如下语法的功能:var a = add(2)(3)(4)
function add(num){ var _add = function(args){ num+=args; return arguments.callee; } _add.toString = ...
- Minikube-Kubernetes本地环境进行开发
Minikube-Kubernetes本地环境进行开发 使用Minikube 启动Minikube # 启动 minkube start # 检查状态 minikube status host: Ru ...
- MySQL存储过程简介和引擎说明
- JS 字符串 时间 数字函数操作 事件
字符串 操作 var s="abcdefg" s.tolowerCase() 转小写 s.toupperCase() 转大写 s.substring(2,5) 索引下 ...
- ASP.NET MVC执行流程图
- MFC U盘检测
WM_DEVICECHANGE消息 查阅MSDN得知: The framework calls this member function to notify an application or dev ...
- fluent_python2
字典和集合 泛映射类型, 继承自collections.abc, Mapping和MutableMapping 标准库里的所有映射类型都是利用 dict 来实现的,因此它们有个共同的限制,即只有可散列 ...