题目

https://github.com/haizlin/fe-interview/issues/15

实现

思路:线性扫描 注意:英文 UTF-16 编码范围

  • A-Z:65 - 90
  • a-z:97 - 122

复杂度分析

  • 时间复杂度:
  • 空间复杂度:
function caseSwitch(str) {
    return str.split('').map(char => {
        const code = char.charCodeAt(0);
        if (code >= 65 && code <= 90) {  // 大写字母转小写
            return char.toLowerCase();
        } else if (code >= 97 && code <= 122) {  // 小写字母转大写
            return char.toUpperCase();
        }
        return char;  // 非字母字符保持不变
    }).join('');  // 将数组转换回字符串
}
 
console.log(caseSwitch("Hello"));  // 输出 "hELLO"