二叉树计算当前节点属于哪一层公式中i为7时计算不正确
来源:11-2 对称二叉树-代码实操

慕设计4929911
2020-01-05
老师您好,关于二叉树计算当前节点属于哪一层,你的代码为:Math.floor(Math.sqrt(i+1)),i小于7的时候均满足情况,如果i为7的时候,应该为第3层,但是带入公式Math.floor(Math.sqrt(7+1)) 计算出来为2。
我觉得不应该使用Math.sqrt,而是求以2为低的对数,应该使用Math.log2,故公式应该为Math.floor(Math.log2(i+1)),这样i大于等于7时才是正确的。
写回答
1回答
-
快乐动起来呀
2020-01-06
i是从0开始,不是1,你再算下
032020-11-26
相似问题