709转换成小写字母
题目:
给你一个字符串 s ,将该字符串中的大写字母转换成相同的小写字母,返回新的字符串。
实例:
示例 1:
输入:s = “Hello” 输出:“hello”
示例 2:
输入:s = “here” 输出:“here”
主要是记录下常用的几种位运算对字母大小写转换的方法与实例:
本题题解:
class Solution {public:string toLowerCase(string s) {for (char& ch: s) {if (ch >= 65 && ch <= 90) {ch |= 32;}}return s;}};
复杂度分析
- 时间复杂度:O(n),其中 nn 是字符串 s 的长度。
- 空间复杂度:O(1),不考虑返回值的空间占用。
扩展:
1.全转小写: ch|=32
2.全转大写: ch&=-33(原理是32的补码(原码取反+1)再-1)
3.大小写对换(大写变小写,小写变大) ch^=32
1.略(本题)
2.全转大写
3.大小写对换
