力扣-709. 转换成小写字母
1. 题目
题目地址( - 力扣(LeetCode))
https://leetcode.cn/problems/to-lower-case/?envType=study-plan-v2&envId=primers-list
题目描述
给你一个字符串 s
,将该字符串中的大写字母转换成相同的小写字母,返回新的字符串。
示例 1:
输入:s = "Hello" 输出:"hello"
示例 2:
输入:s = "here" 输出:"here"
示例 3:
输入:s = "LOVELY" 输出:"lovely"
提示:
1 <= s.length <= 100
s
由 ASCII 字符集中的可打印字符组成
2. 题解
2.1 使用tolower (API)
思路
tolower只能处理字符, 我们遍历字符串即可
这里由于我们直接改动字符串, 所以可以传入相应字符的引用而不是副本, 这样对于其的修改能直接体现在字符串上
代码
- 语言支持:C++
C++ Code:
class Solution {
public:
string toLowerCase(string s) {
for(char& ch : s){
ch = tolower(ch);
}
return s;
}
};
2.2 使用transform(API)
思路
有点类似JavaScript中的forEach, 都是对于一个数组进行统一处理
1.提供一个容器的起始和结束迭代器,表示开始和结束范围; (前两个参数)
2.提供一个起始迭代器, 用于接收返回的数据;(第三个参数)
3.处理函数;(第四个参数), 这里使用::是标明使用的是全局作用域的tolower,并不是std作用域中的tolower
代码
class Solution {
public:
string toLowerCase(string s) {
transform(s.begin(), s.end(), s.begin(), ::tolower);
return s;
}
};