Leetcode 222 完全二叉樹中的節點個數

2021-10-10 20:06:08 字數 484 閱讀 2343

根據滿二叉樹的特性

以根節點左子樹為根的樹的層數與以根節點右子樹為根的樹的層數之差為0或為1

我們將前者記為a,後者記為b

如果a=b,那麼前者必然為滿二叉樹

如果a=b+1,那麼後者必然為滿二叉樹

並且滿二叉樹的節點數為2^n

顯然,我們能通過遞迴來實現這個演算法

時間複雜度為o(logn)

class

solution

int l=

steps

(root.left)

;int r=

steps

(root.right);if

(l==r)

else

}public

intsteps

(treenode rt)

return ans;

}}

leetcode 222 二分完全二叉樹

解法一 dfs暴力求解 definition for a binary tree node.class treenode def init self,x self.val x self.left none self.right none class solution def countnodes s...

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

給出乙個完全二叉樹,求出該樹的節點個數。說明 完全二叉樹的定義如下 在完全二叉樹中,除了最底層節點可能沒填滿外,其餘每層節點數都達到最大值,並且最下面一層的節點都集中在該層最左邊的若干位置。若最底層為第 h 層,則該層包含 1 2h 個節點。示例 輸入 1 2 3 4 5 6 輸出 6方法一 def...

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

給出乙個完全二叉樹,求出該樹的節點個數。說明 完全二叉樹的定義如下 在完全二叉樹中,除了最底層節點可能沒填滿外,其餘每層節點數都達到最大值,並且最下面一層的節點都集中在該層最左邊的若干位置。若最底層為第 h 層,則該層包含 1 2h 個節點。示例 輸入 1 2 3 4 5 6輸出 6 解題思路 二分...