mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 03:34:02 +08:00
Merge pull request #201 from jojoo15/patch-13
添加 0501.二叉搜索树中的众数 python版本
This commit is contained in:
@ -394,8 +394,39 @@ class Solution {
|
||||
```
|
||||
|
||||
Python:
|
||||
|
||||
|
||||
```python
|
||||
# Definition for a binary tree node.
|
||||
# class TreeNode:
|
||||
# def __init__(self, val=0, left=None, right=None):
|
||||
# self.val = val
|
||||
# self.left = left
|
||||
# self.right = right
|
||||
//递归法
|
||||
class Solution:
|
||||
def findMode(self, root: TreeNode) -> List[int]:
|
||||
if not root: return
|
||||
self.pre = root
|
||||
self.count = 0 //统计频率
|
||||
self.countMax = 0 //最大频率
|
||||
self.res = []
|
||||
def findNumber(root):
|
||||
if not root: return None // 第一个节点
|
||||
findNumber(root.left) //左
|
||||
if self.pre.val == root.val: //中: 与前一个节点数值相同
|
||||
self.count += 1
|
||||
else: // 与前一个节点数值不同
|
||||
self.pre = root
|
||||
self.count = 1
|
||||
if self.count > self.countMax: // 如果计数大于最大值频率
|
||||
self.countMax = self.count // 更新最大频率
|
||||
self.res = [root.val] //更新res
|
||||
elif self.count == self.countMax: // 如果和最大值相同,放进res中
|
||||
self.res.append(root.val)
|
||||
findNumber(root.right) //右
|
||||
return
|
||||
findNumber(root)
|
||||
return self.res
|
||||
```
|
||||
Go:
|
||||
|
||||
|
||||
@ -405,4 +436,4 @@ Go:
|
||||
* 作者微信:[程序员Carl](https://mp.weixin.qq.com/s/b66DFkOp8OOxdZC_xLZxfw)
|
||||
* B站视频:[代码随想录](https://space.bilibili.com/525438321)
|
||||
* 知识星球:[代码随想录](https://mp.weixin.qq.com/s/QVF6upVMSbgvZy8lHZS3CQ)
|
||||
<div align="center"><img src=../pics/公众号.png width=450 alt=> </img></div>
|
||||
<div align="center"><img src=../pics/公众号.png width=450 alt=> </img></div>
|
||||
|
Reference in New Issue
Block a user