示例#1
0
        public static int[] FindMode(LeetCode501TreeNode root)
        {
            List <int> modes = new List <int>();

            Helper(root, modes);
            return(modes.ToArray());
        }
示例#2
0
        private static void Helper(LeetCode501TreeNode root, List <int> modes)
        {
            if (root == null)
            {
                return;
            }

            Helper(root.left, modes);

            if (preValue != null)
            {
                if (preValue == root.val)
                {
                    counter++;
                }
                else
                {
                    counter = 1;
                }
            }

            if (counter > max)
            {
                counter = max;
                modes.Clear();
                modes.Add(root.val);
            }
            else if (counter == max)
            {
                modes.Add(root.val);
            }
            Helper(root.right, modes);
        }
示例#3
0
 public LeetCode501TreeNode(int val = 0, LeetCode501TreeNode left = null, LeetCode501TreeNode right = null)
 {
     this.val   = val;
     this.left  = left;
     this.right = right;
 }