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

微信做淘宝客 网站打不开了免费的行情软件网站下载

微信做淘宝客 网站打不开了,免费的行情软件网站下载,蓝领网站做的最好,急招一天一结临时工文章目录 1、求根节点到叶节点数字之和2、二叉树剪枝3、验证二叉搜索树4、二叉搜索树中第K小的元素5、二叉树的所有路径 1、求根节点到叶节点数字之和 给你一个二叉树的根节点 root ,树中每个节点都存放有一个 0 到 9 之间的数字。 每条从根节点到叶节点的路径都代表…

文章目录

  • 1、求根节点到叶节点数字之和
  • 2、二叉树剪枝
  • 3、验证二叉搜索树
  • 4、二叉搜索树中第K小的元素
  • 5、二叉树的所有路径

1、求根节点到叶节点数字之和

给你一个二叉树的根节点 root ,树中每个节点都存放有一个 0 到 9 之间的数字。
每条从根节点到叶节点的路径都代表一个数字:
例如,从根节点到叶节点的路径 1 -> 2 -> 3 表示数字 123 。
计算从根节点到叶节点生成的 所有数字之和 。
叶节点 是指没有子节点的节点。

在这里插入图片描述

class Solution {
public:int dfs(TreeNode* root,int presum){presum=presum*10+root->val;if(root->left==nullptr&&root->right==nullptr)return presum;int ret=0;if(root->left) ret+=dfs(root->left,presum);if(root->right) ret+=dfs(root->right,presum);return ret;}int sumNumbers(TreeNode* root) {return dfs(root,0);}
};

2、二叉树剪枝

给你二叉树的根结点 root ,此外树的每个结点的值要么是 0 ,要么是 1 。
返回移除了所有不包含 1 的子树的原二叉树。
节点 node 的子树为 node 本身加上所有 node 的后代。

在这里插入图片描述

class Solution {
public:TreeNode* pruneTree(TreeNode* root) {if(root==nullptr)return nullptr;root->left=pruneTree(root->left);root->right=pruneTree(root->right);if(root->left==nullptr&&root->right==nullptr&&root->val==0){delete root;//可加可不加return nullptr;}return root;}
};

3、验证二叉搜索树

给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。
有效 二叉搜索树定义如下:
节点的左子树
只包含 小于 当前节点的数。
节点的右子树只包含 大于 当前节点的数。
所有左子树和右子树自身必须也是二叉搜索树。

在这里插入图片描述

class Solution {
public:long flag=LONG_MIN;bool isValidBST(TreeNode* root) {if(root==nullptr)return true;bool left=isValidBST(root->left);if(left==false) return false;//剪枝,作用为了提高效率bool cur=false;if(root->val>flag){    cur=true;flag=root->val;}if(cur==false)  return false;//剪枝bool right=isValidBST(root->right);return left&&right&&cur;}
};

4、二叉搜索树中第K小的元素

给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k 个最小元素(从 1 开始计数)

在这里插入图片描述

class Solution {
public:int count=0;int ret=0;void dfs(TreeNode* root,int k){if(root==nullptr||count==k)//count==0是剪枝return ;dfs(root->left,k);count++;if(count==k)ret=root->val;dfs(root->right,k);}int kthSmallest(TreeNode* root, int k) {dfs(root,k);return ret;}
};

5、二叉树的所有路径

给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。
叶子节点 是指没有子节点的节点。

在这里插入图片描述

class Solution {
public:vector<string> dummy;void dfs(TreeNode* root,string str){str+=to_string(root->val);if(root->left==nullptr&&root->right==nullptr){dummy.push_back(str);return;}str+="->";if(root->left) dfs(root->left,str);//dfs(root->left,str);之前的操作是没有判断,不能只if(root->right) dfs(root->right,str);//判断root->left==nullptr&&root->right==nullptr,//还要想着单子树的问题,已经好几次了}vector<string> binaryTreePaths(TreeNode* root) {dfs(root,"");return dummy;}
};
http://www.yidumall.com/news/24262.html

相关文章:

  • 太原建设设计公司网站网络营销教学网站
  • 网站的策划方案怎么写关键词是什么
  • 有免费可以做的网站吗seo整站优化方案案例
  • 兰州网站搜索优化seo站长常用工具
  • 360客户如何做网站推广凤山网站seo
  • 用ip做网站推广软文发布平台
  • 网站建设软文百度推广收费标准
  • 做网站需要用到哪些开发软件怎么做一个网站页面
  • 独立商城网站建设c++培训班学费一般多少
  • 郑州西区做网站南宁网站建设及推广
  • 福州网站制作建设互联网销售公司
  • 用路由侠做网站搜索引擎优化的特点
  • 天地心公司做网站怎样产品网络推广
  • 平面设计图片大全抖音seo怎么做
  • 比较个性的网站网络流量分析工具
  • 济南网站seo 优帮云山东移动网站建设
  • 铜仁做网站的公司怎么优化电脑系统
  • wordpress 安装失败太原seo优化
  • 青岛官网seo公司苏州seo整站优化
  • 肇庆软件建网站公司如何做免费网站推广
  • 电子商务网站项目预算如何免费找精准客户
  • 睢县网站建设商丘seo排名
  • 顺德大良网站建设广告投放都有哪些平台
  • 南昌英文网站建设企业培训方案
  • 衡水做企业网站的价格网站收录提交入口
  • 营销型高端网站建设价格百度风云榜游戏
  • 沈阳做网站的互联网公司百度推广开户流程
  • 做nba直播网站百度联盟推广
  • 济南市城乡建设委员会官方网站打开百度搜索
  • 购物券网站怎么做seo快速排名软件app