709. 转换成小写字母【模拟】

题目

给你一个字符串 s ,将该字符串中的大写字母转换成相同的小写字母,返回新的字符串。

难度:容易

提示:

  • 1 <= s.length <= 100
  • s 由 ASCII 字符集中的可打印字符组成

题解

根据题意简单模拟即可

class Solution {
    public String toLowerCase(String s) {
        return s.toLowerCase();
    }
}

用位运算的技巧

大写变小写、小写变大写 : 字符 ^= 32;

大写变小写、小写变小写 : 字符 |= 32;

小写变大写、大写变大写 : 字符 &= -33;

使用范围仅限于ASCII 字符集中

class Solution {
    public String toLowerCase(String s) {
        StringBuffer sb = new StringBuffer();
        char[] chars = s.toCharArray();
        for (int i = 0; i < s.length(); i++) {
            if(chars[i]>=65&&chars[i]<=65+25){
                sb.append(chars[i]|=32);
            }else{
                sb.append(chars[i]);
            }
        }
        return sb.toString();
    }
}
posted @ 2022-04-13 00:08  tothk  阅读(26)  评论(0编辑  收藏  举报