Merge pull request #1953 from ZerenZhang2022/patch-15

Update 0222.完全二叉树的节点个数.md
This commit is contained in:
程序员Carl
2023-03-28 16:40:12 +08:00
committed by GitHub

View File

@ -379,6 +379,20 @@ class Solution:
return (2 << leftDepth) - 1 #注意(2<<1) 相当于2^2所以leftDepth初始为0 return (2 << leftDepth) - 1 #注意(2<<1) 相当于2^2所以leftDepth初始为0
return self.countNodes(root.left) + self.countNodes(root.right) + 1 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 ## Go