建设银行手机个人网站,内容展示型网站特点,社交网站盈利吗,深圳英文网站建设专业公司前言
后面几天准备期末考试#xff0c;要断更了。8号or 9号再开始。
内容
一、二叉搜索树中的众数
501. 二叉搜索树中的众数
给你一个含重复值的二叉搜索树#xff08;BST#xff09;的根节点 root #xff0c;找出并返回 BST 中的所有 众数#xff08;即#xff0c…前言
后面几天准备期末考试要断更了。8号or 9号再开始。
内容
一、二叉搜索树中的众数
501. 二叉搜索树中的众数
给你一个含重复值的二叉搜索树BST的根节点 root 找出并返回 BST 中的所有 众数即出现频率最高的元素。
如果树中有不止一个众数可以按 任意顺序 返回。
假定 BST 满足如下定义
结点左子树中所含节点的值 小于等于 当前节点的值结点右子树中所含节点的值 大于等于 当前节点的值左子树和右子树都是二叉搜索树
中序遍历
第一想法是遍历二叉树把各结点放入哈希表中记录出现的次数。但这是二叉搜索树第一想法应该是中序遍历遍历后他是一个有序数组。相邻两个元素作比较然后就把出现频率最高的元素输出。注意可能有多个众数
func findMode(root *TreeNode) []int {res:make([]int,0)var prev *TreeNodecount:1max:1var travel func(node *TreeNode)travelfunc(node *TreeNode){if nodenil{return }travel(node.Left)if prev!nilprev.Valnode.Val{count}else{count1}if countmax{if countmaxlen(res)0{res[]int{node.Val}}else{resappend(res,node.Val)}maxcount//更新max}prevnodetravel(node.Right)}travel(root)return res
}
最后
做好当下拒绝焦虑