【发布时间】:2019-02-27 05:10:36
【问题描述】:
任务如下:“编写一个 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?
【问题讨论】:
-
你自己做了什么调查?
-
我试图弄清楚代码是如何工作的。我在 Palindrome 上找到了一些文章和算法,但它们用于确定单词或单词串是否是回文,这是不同的。上面提到的任务看起来更复杂。
-
为什么不简单地在代码中添加一些
console.log语句并检查运行时显示的内容? -
谢谢哥们。看起来它显示了我需要的东西。我现在可以调查代码了。
标签: javascript palindrome