С
function solve(str, i=0) {
do {
if (Math.abs(str.charCodeAt(i)-str.charCodeAt(str.length-1-i)) > 2) return false
} while (++i < str.length-1-i)
return true
}

Size: a a a
С
function solve(str, i=0) {
do {
if (Math.abs(str.charCodeAt(i)-str.charCodeAt(str.length-1-i)) > 2) return false
} while (++i < str.length-1-i)
return true
}
C
function solve(str) {
let chars = [...str];
let result = true;
for (let i = 0; i < chars.length; i++) {
let c1 = chars[i], c2 = chars[chars.length - i - 1];
let isEq = c1 === c2;
let isDiff2 = Math.abs(c1.charCodeAt(0) - c2.charCodeAt(0)) === 2;
if (!isEq && !isDiff2) {
result = false;
break;
}
}
return result
}
C
С
function solve(str) {
let chars = [...str];
let result = true;
for (let i = 0; i < chars.length; i++) {
let c1 = chars[i], c2 = chars[chars.length - i - 1];
let isEq = c1 === c2;
let isDiff2 = Math.abs(c1.charCodeAt(0) - c2.charCodeAt(0)) === 2;
if (!isEq && !isDiff2) {
result = false;
break;
}
}
return result
}
С
function solve(str) {
let chars = [...str];
let result = true;
for (let i = 0; i < chars.length; i++) {
let c1 = chars[i], c2 = chars[chars.length - i - 1];
let isEq = c1 === c2;
let isDiff2 = Math.abs(c1.charCodeAt(0) - c2.charCodeAt(0)) === 2;
if (!isEq && !isDiff2) {
result = false;
break;
}
}
return result
}
С
С
🌬М
C
С
С
function solve(str) {
let chars = [...str];
let result = true;
for (let i = 0; i < chars.length; i++) {
let c1 = chars[i], c2 = chars[chars.length - i - 1];
let isEq = c1 === c2;
let isDiff2 = Math.abs(c1.charCodeAt(0) - c2.charCodeAt(0)) === 2;
if (!isEq && !isDiff2) {
result = false;
break;
}
}
return result
}
🌬М
С
🌬М
DM
function solve(str, i=0) {вот, держи
do {
if (![0, 2, -2].includes(str.charCodeAt(i)-str.charCodeAt(str.length-1-i))) return false
} while (++i < str.length-1-i)
return true
}
С
function solve(str, i=0) {вот, держи
do {
if (![0, 2, -2].includes(str.charCodeAt(i)-str.charCodeAt(str.length-1-i))) return false
} while (++i < str.length-1-i)
return true
}
DM