LeetCode|【JS】仅仅反转字母 #字符串

给定一个字符串 S,返回 “反转后的” 字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转。
输入: “a-bC-dEf-ghIj” 输出: j-Ih-gfE-dCba
输入: “z<*zj” 输出: j<*zz
输入: “Test1ng-Leet=code-Q!” 输出: Qedo1ct-eeLg=ntse-T!

解法一: 创建一个新变量 str ,接收转成数组且颠倒的字符串 S
删除 str 中26个英文之外的字符,
检测字符串 S 再次把标点数字等字符写入 str
教训 -该用2个循环的时候还是用2个,一个循环容易出错啊

var reverseOnlyLetters = function(S) {var str=S.split("").reverse() ,si,sx for(var i=str.length; i>=0; i--){ si=str[i] if((si>='a' && si<='z') || (si>='A' && si<='Z')){ }else{ str.splice(i,1) } }for(var i=0; i='a' && sx<='z') || (sx>='A' && sx<='Z')){ }else{ str.splice(i,0,sx) } } return str.join("")};

【LeetCode|【JS】仅仅反转字母 #字符串】116 / 116 个通过测试用例
执行用时:68 ms

    推荐阅读