大写字母转换成小写字母
大写字母转换成小写字母
题目:
实现函数 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;
下面展示一下 代码
。
// 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
欢迎大家前来评论,共同进步!!!