1. 程式人生 > 程式設計 >SpringBoot返回Json物件報錯(返回物件為空{})

SpringBoot返回Json物件報錯(返回物件為空{})

222. 完全二叉樹的節點個數

題目:

給你一棵 完全二叉樹 的根節點 root ,求出該樹的節點個數。

完全二叉樹 的定義如下:在完全二叉樹中,除了最底層節點可能沒填滿外,其餘每層節點數都達到最大值,並且最下面一層的節點都集中在該層最左邊的若干位置。若最底層為第 h 層,則該層包含 1~2h個節點。



示例 1:


輸入:root = [1,2,3,4,5,6]
輸出:6
示例 2:

輸入:root = []
輸出:0
示例 3:

輸入:root = [1]
輸出:1


提示:

樹中節點的數目範圍是[0, 5 * 104]
0 <= Node.val <= 5 * 104
題目資料保證輸入的樹是 完全二叉樹


進階:遍歷樹來統計節點是一種時間複雜度為 O(n) 的簡單解決方案。你可以設計一個更快的演算法嗎?、

題解:

 1 /**
 2  * Definition for a binary tree node.
 3  * struct TreeNode {
 4  *     int val;
 5  *     TreeNode *left;
 6  *     TreeNode *right;
 7  *     TreeNode() : val(0), left(nullptr), right(nullptr) {}
 8  *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
 9  *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
10 * }; 11 */ 12 class Solution { 13 public: 14 int countNodes(TreeNode* root) { 15 if(!root) return 0; 16 return countNodes(root->left) + countNodes(root->right) + 1; 17 } 18 };