【发布时间】:2019-03-21 10:08:28
【问题描述】:
我无法在此代码中找到问题。我想反转字符串而不反转特殊字符。所以,如果字符串是 'ab#$cd!' ,输出将是 'dc#$ba!' 我得到的输出是 'ab#$cd!' (与输入相同)。
请在代码中找出问题所在。
function isAlphabet(x) {
if ((x >= 'A' && x <= 'Z') || (x >= 'a' && x <= 'z')) {
return true
} else {
return false
}
}
function reverse() {
var string1 = [];
string1 = 'ab#$cd!'
var n = string1.length;
var r = n - 1;
var i = 0;
while (i < r) {
if (!isAlphabet(string1[i])) {
i++;
} else if (!isAlphabet(string1[r])) {
r--;
} else {
var temp;
temp = string1[i];
string1[i] = string1[r];
string1[r] = temp;
i++;
r--;
}
}
return string1;
}
console.log(reverse());
【问题讨论】:
-
当 'abcd#$ef!' 出现时你会期待什么?在您的示例中,特殊字符之前的字母数与最后一个相同。
标签: javascript string reverse