222. Count Complete Tree Nodes
来源:互联网 发布:linux修改用户组 编辑:程序博客网 时间:2024/05/16 03:37
Given a complete binary tree, count the number of nodes.
Definition of a complete binary tree from Wikipedia:
In a complete binary tree every level, except possibly the last, is completely filled, and all nodes in the last level are as far left as possible. It can have between 1 and 2h nodes inclusive at the last level h.
1.我的答案,层次遍历(超时)
int countNodes(TreeNode* root) { if(root == NULL) return 0; queue<TreeNode*>q; q.push(root); int count = 0; while(!q.empty()){ TreeNode* t = q.front(); count++; q.pop(); if(t->left) q.push(t->left); if(t->right) q.push(t->right); } return count; }
2.递归 168ms
int countNodes(TreeNode* root) { if(root == NULL) return 0; int ll = 0, lr = 0; TreeNode* tl = root, *tr = root; while(tl){ ll++; tl = tl->left; } while(tr){ tr = tr->right; lr++; } if(ll == lr) return (1<<ll)-1; else return 1+countNodes(root->left)+countNodes(root->right); }
0 0
- 222. Count Complete Tree Nodes
- 222. Count Complete Tree Nodes
- 222. Count Complete Tree Nodes
- 222. Count Complete Tree Nodes
- 222. Count Complete Tree Nodes
- 222. Count Complete Tree Nodes
- 222. Count Complete Tree Nodes
- 222. Count Complete Tree Nodes
- 222. Count Complete Tree Nodes
- 222. Count Complete Tree Nodes
- 222. Count Complete Tree Nodes
- 222. Count Complete Tree Nodes
- 222. Count Complete Tree Nodes
- 222. Count Complete Tree Nodes
- 222. Count Complete Tree Nodes
- 222. Count Complete Tree Nodes
- 222. Count Complete Tree Nodes**
- 222. Count Complete Tree Nodes
- vertica-修改表结构(涉及vertica底层的操作)
- listview 点击错乱
- Android在xml中设置点击事件不响应
- redis - Java操作
- poj 3087
- 222. Count Complete Tree Nodes
- [Java]ArrayList与LinkedList的模拟实现
- squirrel-sql通过phoenix-4.7.0连接windows中的hbase-1.1.3(一)
- flume 用户指南 - part 1
- Python3 函数
- 经典算法题03-猴子吃桃
- mybatis动态sql的书写
- 了解Context
- Android MVP 设计模式