
关注
统计完全二叉树的节点数
【题目】
给定一棵完全二叉树的头节点head,返回这棵树的节点个数。
【要求】
如果完全二叉树的节点数为N,请实现时间复杂度低于O(N)的解法。
public int nodeNum(Node head) {
if (head == null) {
return 0;
}
return bs(head, 1, mostLeftLevel(head, 1));
}
public int bs(Node node, int l, int h) {
if (l == h) {
return 1;
}
if (mostLeftLevel(node.right, l + 1) == h) {
return (1 << (h - l)) + bs(node.right, l + 1, h);
} else {
return (1 << (h - l - 1)) + bs(node.left, l + 1, h);
}
}
public int mostLeftLevel(Node node, int level) {
while (node != null) {
level++;
node = node.left;
}
return level - 1;
}
查看原帖
点赞 2
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 面试问题记录 #
35058次浏览 535人参与
# 工作一周年分享 #
15931次浏览 104人参与
# 京东TGT #
37056次浏览 158人参与
# 入职第五天,你被拉进了几个工作群 #
14941次浏览 79人参与
# 面试经验谈 #
23222次浏览 349人参与
# 假如我穿越到了妈妈的18岁 #
2529次浏览 32人参与
# 机械人,你的第一份感谢信是谁给的 #
23992次浏览 295人参与
# 面试吐槽bot #
6527次浏览 55人参与
# 零跑求职进展汇总 #
2704次浏览 16人参与
# 视觉/交互/设计招聘信息汇总 #
11430次浏览 596人参与
# 职场捅娄子大赛 #
266976次浏览 2387人参与
# 上班苦还是上学苦呢? #
215544次浏览 1288人参与
# 职场新人生存指南 #
340063次浏览 7275人参与
# 国企vs私企,你更想去? #
213853次浏览 2037人参与
# 异地恋该为对方跳槽吗 #
28536次浏览 143人参与
# 硬件人秋招的第一个offer #
67632次浏览 1083人参与
# 请用你的专业向妈妈表白 #
5404次浏览 56人参与
# 硬件人更看重稳定还是高薪 #
43066次浏览 216人参与
# 机械求职避坑tips #
43048次浏览 356人参与
# 对妈妈没说出口的话 #
15850次浏览 364人参与
# 妈妈治愈了你哪些脆皮时刻 #
7270次浏览 119人参与