mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 03:34:02 +08:00
Merge pull request #1953 from ZerenZhang2022/patch-15
Update 0222.完全二叉树的节点个数.md
This commit is contained in:
@ -379,6 +379,20 @@ class Solution:
|
||||
return (2 << leftDepth) - 1 #注意(2<<1) 相当于2^2,所以leftDepth初始为0
|
||||
return self.countNodes(root.left) + self.countNodes(root.right) + 1
|
||||
```
|
||||
完全二叉树写法2
|
||||
```python
|
||||
class Solution: # 利用完全二叉树特性
|
||||
def countNodes(self, root: TreeNode) -> int:
|
||||
if not root: return 0
|
||||
count = 1
|
||||
left = root.left; right = root.right
|
||||
while left and right:
|
||||
count+=1
|
||||
left = left.left; right = right.right
|
||||
if not left and not right: # 如果同时到底说明是满二叉树,反之则不是
|
||||
return 2**count-1
|
||||
return 1+self.countNodes(root.left)+self.countNodes(root.right)
|
||||
```
|
||||
|
||||
## Go
|
||||
|
||||
|
Reference in New Issue
Block a user