题目
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"