Задача состоит в следующем: «Напишите программу на JavaScript, чтобы найти самую короткую из возможных строк, которая может создать строку, превращающую ее в палиндром, путем добавления символов в конце».
Это кодЯ смотрю на:
function build_Palindrome(new_str) {
var flag;
for (var i = new_str.length;; i++) {
flag = true;
for (var j = 0; j < i - j - 1; j++) {
if (i - j - 1 < new_str.length && new_str[j] != new_str[i - j - 1]) {
flag = false;
break;
}
}
if (flag) {
for (var j = new_str.length; j < i; j++) {
new_str += new_str[i - j - 1];
}
return new_str;
}
}
}
Тест:
console.log(build_Palindrome("abcddc"))
Вывод:
abcddcba
Мой вопрос: Сначала он начинается с j=0
.Если в цикле for
, flag=false
, как это происходит?Это i=7
(i++
?) И j=0
или j=1
?