力扣-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;
    }
};
posted @ 2024-04-28 15:11  DawnTraveler  阅读(11)  评论(0编辑  收藏  举报