专栏名称: 二叉树(微博搜索)
目录
相关文章推荐
91运营网  ·  Deepseek+小红书必备指令 ·  16 小时前  
新周刊  ·  “0首付”,2025年车圈价格战打疯了 ·  昨天  
新周刊  ·  这些爱情关键词,监控了年轻人的心 ·  昨天  
新周刊  ·  过年返乡,我看到了县城AI的真实景象 ·  昨天  
码头青年  ·  每个人都有一个符瑞兽 ·  3 天前  
51好读  ›  专栏  ›  二叉树(微博搜索)

二叉树(微博搜索)-20221212-1

二叉树(微博搜索)  · 微博搜索  ·  · 2022-12-12 00:00

正文

本条微博地址 递归总是写不好
2022年12月11日,23. 合并K个升序链表和107. 二叉树的层序遍历 II。
本条微博地址 只想吃糖怎么行
#小全不努力怎么行#
题目:二叉搜索树中的众数。
解:(1)递归法。
方法一:适用于所有二叉树,不单单是搜索树。首先把树都遍历一遍,并用map统计频率。再把统计的出来的出现频率(即map中的value) 按照频率从大到小排序。最后把前面高频的元素取出来就可以了。
方法二:num记录当前相同节点个数,number记录最多相同节点个数。每次将cur(当前节点)和pre(前一个节点)作比较。
当初始化pre = NULL,让num=1。与前一个节点数值相同if (pre->val == cur->val),num++;否则与前一个节点数值不同,num = 1;
如果 频率num等于number(最大频率),把这个元素加入到结果集中。
如果 频率num大于number(最大频率),更新number=num,结果集clear,再把这个元素加入到结果集中。
(2)迭代法。用栈中序遍历,当cur==NULL时取栈头,且进行方法二的操作。






请到「今天看啥」查看全文