[LeetCode] 709. To Lower Case

题目描述

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;
    }
};
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页