题目描述
Implement function ToLowerCase() that has a string parameter str, and returns the same string in lowercase.
题目的要求非常简单,即将一个字符串中的大写字母全部转化为小写。
解决思路是利用ascii码进行转化,A-Z 的ascii 码是65-90 ,a-z 的ascii 码是97-122
C++ 实现
class Solution {
public:
string toLowerCase(string str) {
string lower_case_str;
lower_case_str.reserve(str.size());
// a-z : 97-122 A-Z : 65-90
// 这里lambda 表达式的返回值需要显示声明,因为需要类型转换编译器无法自己推导
const auto to_lower = [](const char c) -> char
{
if (c >= 65 && c <= 90)
{
return c + 32;
}
return c;
};
transform(str.begin(), str.end(), back_inserter(lower_case_str), to_lower);
return lower_case_str;
}
};