本文主要是介绍leetcode 501 Find Mode in Binary Search Tree,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
大致思路:遍历一个二叉树,找出出现次数最多的数字(mode),不过这样的话貌似没有利用到BST这一条件……
AC代码(Ruby):
def count_modes(root, modes_hash)unless root.nil?if modes_hash[root.val].nil?modes_hash[root.val] = 1elsemodes_hash[root.val] += 1 endcount_modes(root.left, modes_hash)count_modes(root.right, modes_hash)end
enddef find_mode(root)modes_hash = Hash.newcount_modes(root, modes_hash)max_count = modes_hash.values.maxmodes_hash.select{|k, v| v == max_count}.keys
end
这篇关于leetcode 501 Find Mode in Binary Search Tree的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!