大写字母转换成小写字母
- 大写字母转换成小写字母
- 1.示例:
- 2. 解题思路
- 3. 代码展示及分析
- 3.1 ASCII码操作字符串转换大小写
- 3.2 位运算
- 4. 运行结果
大写字母转换成小写字母
题目:
实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串。
1.示例:
示例 1:
输入: “Hello”
输出: “hello”
示例 2:
输入: “here”
输出: “here”
示例 3:
输入: “LOVELY”
输出: “lovely”
2. 解题思路
通过ASCII码表操作字符串。
A-Z;65-90
a-z:97-122
A-a:A+32=a
3. 代码展示及分析
3.1 ASCII码操作字符串转换大小写
下面展示一下 代码
。
// for(auto& s:str)//大小写转换
{
s|=32;
}
// class Solution {
public:string toLowerCase(string str){int change_num='a'-'A'; string res=""; for(auto s:str) { if(s>='A'&&s<='Z') res+=(s+change_num); else res+=s; } return res;for(auto& s:str) s|=32; return str; }};
转自:https://leetcode-cn.com/problems/to-lower-case/solution/cwei-yun-suan-he-chang-gui-fang-fa-by-zsx3/
LeetCode:
3.2 位运算
大写变小写、小写变大写 : 字符 ^= 32;
大写变小写、小写变小写 : 字符 |= 32;
小写变大写、大写变大写 : 字符 &= -33;
下面展示一下 代码
。
// for(int i = 0; i < size;i+=1)
{ if(str[i] <= 'Z' && str[i] >= 'A'){ str[i] = str[i] + 32; } }
// class Solution {
public: string toLowerCase(string str){int size = str.size();if(size==0){ return 0;}//判断字符串是否为空,为空返回0;for(int i = 0; i < size;i+=1){ if(str[i] <= 'Z' && str[i] >= 'A'){ str[i] = str[i] + 32;//完成大小写转换 } } return str; }
};
4. 运行结果
leetcode
欢迎大家前来评论,共同进步!!!