网站做跳转会有什么影响,企业网站 设计,成都锐度设计公司怎么样,这是为了使网页917. 仅仅反转字母https://leetcode.cn/problems/reverse-only-letters/
难度简单189
给你一个字符串 s #xff0c;根据下述规则反转字符串#xff1a;
所有非英文字母保留在原有位置。所有英文字母#xff08;小写或大写#xff09;位置反转。
返回反转后的 s 。 示例…917. 仅仅反转字母https://leetcode.cn/problems/reverse-only-letters/
难度简单189
给你一个字符串 s 根据下述规则反转字符串
所有非英文字母保留在原有位置。所有英文字母小写或大写位置反转。
返回反转后的 s 。 示例 1
输入s ab-cd
输出dc-ba示例 2
输入s a-bC-dEf-ghIj
输出j-Ih-gfE-dCba示例 3
输入s Test1ng-Leetcode-Q!
输出Qedo1ct-eeLgntse-T!提示
1 s.length 100s 仅由 ASCII 值在范围 [33, 122] 的字符组成s 不含 \ 或 \\
题解 这道题可以使用双指针分别从头尾向中间遍历在指针向中心移动过程中交换头尾指针的值同时判断当前指针所指向的值是否是非字母字符是则跳过不是则进行交换。
/*** param {string} s* return {string}*/
var reverseOnlyLetters function(s) {
let arr s.split();let head 0;let temp;var re /[A-Za-z]/;let tail arr.length - 1;
// console.log(arr, head, tail);for (; head ! tail, tail head; ) {// console.log(head:, arr[head], head, tail:, arr[tail], tail);if (re.test(arr[head]) re.test(arr[tail])) {// console.log(arr[tail], arr[head]);temp arr[tail];arr[tail] arr[head];arr[head] temp;// console.log(交换了);// console.log(arr[tail], arr[head]);head;tail--;}if (!re.test(arr[head])) {head;}if (!re.test(arr[tail])) {tail--;}}let str arr.join();
// console.log(arr);
// console.log(str);return str;
};