码迷,mamicode.com
首页 > 其他好文 > 详细

501. Find Mode in Binary Search Tree

时间:2020-09-24 22:11:03      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:http   cto   arch   solution   val   int   problems   else   ++   

https://leetcode-cn.com/problems/find-mode-in-binary-search-tree/

class Solution {
public:
	int count = 0, max_count = 0;
	TreeNode* pre = NULL;
	vector<int> ans;
	void dfs(TreeNode* node) {
		if (node == NULL) return;
		dfs(node->left);
		if (pre == NULL) {
			count++;
			ans.push_back(node->val);
		}
		else if (pre->val == node->val) {
			++count;
		}
		else if (pre->val != node->val) {
			count = 1;
		}
		
		
		if (count == max_count) {
			ans.push_back(node->val);
		}
		else if (count >= max_count) {
			max_count = count;
			ans.clear();
			ans.push_back(node->val);
		}
		pre = node;
		dfs(node->right);
		return;
	}



	vector<int> findMode(TreeNode* root) {
		if (root == NULL) {
			return {};
		}
		dfs(root);
		return ans;
	}
};

501. Find Mode in Binary Search Tree

标签:http   cto   arch   solution   val   int   problems   else   ++   

原文地址:https://www.cnblogs.com/Hunter01/p/13725091.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!