当前位置: 首页 > news >正文

南京外贸网站建站网络营销的盈利模式

南京外贸网站建站,网络营销的盈利模式,服装私人订制网站,西安网站制作公司排给你一个含重复值的二叉搜索树(BST)的根节点 root ,找出并返回 BST 中的所有 众数(即,出现频率最高的元素)。 如果树中有不止一个众数,可以按 任意顺序 返回。 假定 BST 满足如下定义&#xf…

给你一个含重复值的二叉搜索树(BST)的根节点 root ,找出并返回 BST 中的所有 众数(即,出现频率最高的元素)。

如果树中有不止一个众数,可以按 任意顺序 返回。

假定 BST 满足如下定义:

  • 结点左子树中所含节点的值 小于等于 当前节点的值
  • 结点右子树中所含节点的值 大于等于 当前节点的值
  • 左子树和右子树都是二叉搜索树

sample
提示:

树中节点的数目在范围 [1, 104]

  • 105 <= Node.val <= 105

进阶:你可以不使用额外的空间吗?(假设由递归产生的隐式调用栈的开销不被计算在内)

AC:

/** @lc app=leetcode.cn id=501 lang=cpp** [501] 二叉搜索树中的众数*/// @lc code=start
/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:TreeNode* pre = NULL;int count = 0;int maxCount = 0;vector<int> result;void traversal(TreeNode* cur) {if(cur == NULL)return ;traversal(cur->left);if(pre == NULL)count = 1;else if(pre->val == cur->val){count++;}else count = 1;pre = cur;if(count == maxCount){result.push_back(cur->val);}if(count > maxCount){maxCount = count;result.clear();result.push_back(cur->val);}traversal(cur->right);return ;}vector<int> findMode(TreeNode* root) {traversal(root);return result;}
};
// @lc code=end

AC
Tips:

  • 对于一次遍历完搜索二叉树,将众数结果统计出来:
		if(count == maxCount){result.push_back(cur->val);}if(count > maxCount){maxCount = count;result.clear();result.push_back(cur->val);}

The first if statement checks if the count of the current value is equal to the maximum count seen so far (count == maxCount). If the count is equal to the maximum count, then the current value is also a mode of the binary search tree, so the value is added to the result vector using the push_back function.

The second if statement checks if the count of the current value is greater than the maximum count seen so far (count > maxCount). If the count is greater than the maximum count, then the current value is a new mode of the binary search tree, so the result vector is cleared using the clear function, and the current value is added to the result vector using the push_back function. Additionally, the maxCount variable is updated to reflect the new maximum count.

Overall, this block of code is a simple and efficient way to update the result vector with the mode(s) of a binary search tree. The code uses a straightforward approach to keep track of the count of each value in the binary search tree, and updates the result vector whenever a new mode is found. One possible way to improve the code would be to add error checking to ensure that cur is not a null pointer before accessing its value. Additionally, the variable names could be more descriptive to make the code easier to read and understand.


  • 二叉树双指针的移动:
		pre = cur;

The line of code pre = cur; is used to update the pre pointer to point to the current node cur. This is because the function is traversing the binary search tree in order, and pre needs to point to the previous node in order to calculate the count of each value in the binary search tree.

Specifically, the function uses an in-order traversal of the binary search tree to visit each node in ascending order. For each node, the function calculates the count of the node’s value by comparing it to the value of the previous node. If the value is the same as the previous node’s value, then the count is incremented. Otherwise, the count is reset to 1.

The pre pointer is used to keep track of the previous node visited during the in-order traversal. Initially, pre is set to nullptr to indicate that there is no previous node. For each node cur, the line of code pre = cur; updates pre to point to cur, so that pre will point to the previous node during the next iteration of the loop.

Overall, this line of code is a simple and efficient way to update the pre pointer during an in-order traversal of a binary search tree. One possible way to improve the code would be to add error checking to ensure that pre and cur are not null pointers before updating pre. Additionally, the variable names could be more descriptive to make the code easier to read and understand.

http://www.ds6.com.cn/news/113336.html

相关文章:

  • 福州营销型网站建设价格怎么做神马搜索排名seo
  • 给女朋友做的网站最新网域查询入口
  • 永康网站建设专业公司百度拍照搜题
  • 手把手wordpress仿站种子搜索神器下载
  • 获奖网站设计静态网页设计与制作
  • 西安手机商城网站设计seo什么意思
  • 网站开发包括网站设计如何快速搭建网站
  • 网站建设 by 筑巢无锡网站制作优化
  • wix做网站手机乱了推广品牌
  • 网站模型怎么做的武汉好的seo优化网
  • 怎么选择顺德网站建设品牌战略
  • 怎么学做淘宝免费视频网站公司seo排名优化
  • 哪个网站做的ppt模板好小广告公司如何起步
  • 做的比较好的网站推荐东莞网站排名推广
  • 招牌做的好的网站有哪些企业seo关键词优化
  • 全国网站开发公司视频号关键词搜索排名
  • 如何做企业网站界面做网站推广的公司
  • 秦皇岛 网站建设爱站网排行榜
  • 电脑公司网站模板有效的网络推广
  • 网站ftp做网站的会给嘛360点睛实效平台推广
  • 兰州设计公司排名榜陕西seo顾问服务
  • 企业外贸网站建设营销案例分享
  • 网站开发论文结束语优化seo设置
  • 网站降权如何百度申诉免费外链平台
  • apache 指向wordpressseo咨询价格找推推蛙
  • 鹤壁网站建设优化代运营服务
  • 网站建设企业官网体验版是什么搜索引擎网址
  • 莆田网站建设咨询百度的营销策略
  • 用网盘做网站品牌策划与推广
  • 个人做外包网站多少钱爱站网关键词查询工具