1
我试图做一个JavaScript函数,返回一个完整的二进制文件的HTML到一定数量的位。JavaScript函数打印出一个完整的二叉树
例如,full_bintree(1)
将给出
/\
1 0
和full_bintree(2)
的HTML将给出
/\
/\
1 0
/\/\
1 01 0
和full_bintree(3)
的HTML会给HTML的
/\
/\
/ \
/ \
/ \
1 0
/\ /\
/ \ / \
1 0 1 0
/\ /\/\ /\
1 0 1 01 0 1 0
等等。
我开始做一个功能,但它看起来很可怕,我一直在意识到需要回头修复的问题。
function full_bintree(var b)
{
var retstr = "";
var nr = (2 << b) + (b - 1); // number of rows
for (var i = 0, j = nr - 1, k = 0; i < nr; ++i, --j, k += 2)
{
retstr += "<p>";
// Add leading spaces on line
for (var m = 0; m < j; ++m)
retstr += " ";
// Add backslashes or
// Add middle spaces
for (var m = 0; m < k; ++m)
retstring += " ";
// Add forward slashes
retstr += "</p>";
}
}
删除从函数定义了'var'关键字 - 'full_bintree(B)'' – tymeJV
nr'似乎总是等于'b + 1'(你告诉它绘制很多行加上根)。你也没有检查你可能想要做的'b <1'。 'retstr + =“”;'不会在HTML中提供所需的效果。 – adamdc78