Leecode 222. 完全二叉树的节点个数——Leecode日常刷题系列
生活随笔
收集整理的這篇文章主要介紹了
Leecode 222. 完全二叉树的节点个数——Leecode日常刷题系列
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目鏈接:https://leetcode-cn.com/problems/count-complete-tree-nodes/
題解匯總:https://leetcode-cn.com/problems/max-increase-to-keep-city-skyline/
題目描述
給你一棵 完全二叉樹 的根節(jié)點(diǎn) root ,求出該樹的節(jié)點(diǎn)個(gè)數(shù)。
完全二叉樹 的定義如下:在完全二叉樹中,除了最底層節(jié)點(diǎn)可能沒填滿外,其余每層節(jié)點(diǎn)數(shù)都達(dá)到最大值,并且最下面一層的節(jié)點(diǎn)都集中在該層最左邊的若干位置。若最底層為第 h 層,則該層包含 1~ 2h 個(gè)節(jié)點(diǎn)。
示例 1:
輸入:root = [1,2,3,4,5,6]
輸出:6
示例 2:
輸入:root = []
輸出:0
示例 3:
輸入:root = [1]
輸出:1
遍歷二叉樹即可(附二叉樹構(gòu)建方法)
struct TreeNode {int val;TreeNode *left;TreeNode *right;TreeNode() : val(0), left(nullptr), right(nullptr) {}TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {} };class Solution { private:int resNum = 0; public:void preOrder(TreeNode* root) {if (root == nullptr) return;resNum += 1;preOrder(root->left);preOrder(root->right);}int countNodes(TreeNode* root) {preOrder(root);return resNum;} };總結(jié)
以上是生活随笔為你收集整理的Leecode 222. 完全二叉树的节点个数——Leecode日常刷题系列的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【二分法万能模板】Leecode 74.
- 下一篇: 别翻了,成员变量和局部变量在多线程中的使