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

帮客户做ppt什么的在哪个网站建站之星好不好

帮客户做ppt什么的在哪个网站,建站之星好不好,简述jsp网站开发的环境配置,个人网站模板源码下载题目引用 找树左下角的值路径总和从中序与后序遍历构造二叉树 今天就简简单单三道题吧~ 1. 找到树左下角的值 给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 示例 1: 输入: root [2,1,3] 输出: 1 我们…

题目引用


  1. 找树左下角的值
  2. 路径总和
  3. 从中序与后序遍历构造二叉树

今天就简简单单三道题吧~

1. 找到树左下角的值


给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。

假设二叉树中至少有一个节点。

示例 1:
在这里插入图片描述
输入: root = [2,1,3]
输出: 1

我们来分析一下题目,最底层的叶子节点,所以我们要求出树的深度,并且进行判断他是否到达底层。首先我们定义一个全局变量res和全局变量maxDep来记录递归过程中更深的节点和更深节点的值。然后我们判断当前节点有没有左右孩子节点,如果有我们递归进那个节点并更新resmaxDep,同时定义局部变量depth将其++后传进下一层,当其操作完返回这一层时将depth--,用作向右孩子递归的参数。而这个过程就叫做回溯。
我们来看代码

int res;int maxDep=INT_MIN;void travisal(TreeNode* root,int depth){if(root->left==NULL&&root->right==NULL){if(depth>maxDep){maxDep=depth;res=root->val;}return;}if(root->left){depth++;travisal(root->left,depth);depth--;}if(root->right){depth++;travisal(root->right,depth);depth--;}}int findBottomLeftValue(TreeNode* root) {travisal(root,0);return res;}

2.路径总和


给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。

叶子节点 是指没有子节点的节点。

示例 1:
在这里插入图片描述
输入:root = [5,4,8,11,null,13,4,7,2,null,null,null,1], targetSum = 22
输出:true
解释:等于目标和的根节点到叶节点路径如上图所示。

我们来看题目,这道题其实知道了原理就和上道题大差不差了。上一道题目是找到最底层的节点的值,而这一道题目是找到一条相加为0的路径,两道题目都需要我们在二叉树中一层一层的寻找符合条件的节点并且返回它,那么我们是不是不难写出这样的模版

看情况返回类型 traversal(TreeNode* root,//第二变量用于判断){//对每一个节点要做的操作if(root->left){//增加条件//递归左边//减少条件}if(root->right){//增加条件//递归右边//减少条件}//考虑是否返回}

那么我们在这道题就将相加改为一开始就有一个变量等于targetSum,逐层减去每个节点的val,一旦==0,就返回true
来看代码:

bool traversal(TreeNode* root,int count){if(!root->left&&!root->right&&count==0) return true;if(!root->left&&!root->right) return false;if(root->left){count-=root->left->val;if(traversal(root->left,count)) return true;count+=root->left->val;}if(root->right){count-=root->right->val;if(traversal(root->right,count)) return true;count+=root->right->val;}return false;}bool hasPathSum(TreeNode* root, int targetSum) {if(root==NULL) return false;return traversal(root,targetSum-root->val);}

大家看,一旦我们整理出规律,是不是这类题目我们只要考虑细节条件就能迎刃而解呢?

3.从中序与后序遍历构造二叉树


给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。

示例 1:
在这里插入图片描述
输入:inorder = [9,3,15,20,7], postorder = [9,15,7,20,3]
输出:[3,9,20,null,null,15,7]

这道题目我们在学习数据结构时就做过,现在只要模拟过程就能解决啦。直接看代码

TreeNode* traversal(vector<int>& inorder,vector<int>& postorder){if(postorder.size()==0) return NULL;int rootValue=postorder[postorder.size()-1];TreeNode* root=new TreeNode(rootValue);if(postorder.size()==1) return root;int delimitIndex;for(delimitIndex=0;delimitIndex<inorder.size();delimitIndex++){if(inorder[delimitIndex]==rootValue) break;}vector<int> leftInorder(inorder.begin(),inorder.begin()+delimitIndex);vector<int> rightInorder(inorder.begin()+delimitIndex+1,inorder.end());postorder.resize(postorder.size()-1);vector<int> leftPostorder(postorder.begin(),postorder.begin()+leftInorder.size());vector<int> rightPostorder(postorder.begin()+leftInorder.size(),postorder.end());root->left=traversal(leftInorder,leftPostorder);root->right=traversal(rightInorder,rightPostorder);return root;}TreeNode* buildTree(vector<int>& inorder, vector<int>& postorder) {if (inorder.size() == 0 || postorder.size() == 0) return NULL;return traversal(inorder, postorder);}

总结


今天的题目其实就是昨天的拓展与提升,大家务必将昨天的消化了再来做今天的题目。

http://www.yayakq.cn/news/882880/

相关文章:

  • 做网站的公司前三名自己买个服务器有什么用
  • 做化工的 有那些网站做响应式网站设计师需要做什么
  • 东阳科技网站建设济南建筑公司排名
  • 阳江城乡建设部网站首页做网站注册商标哪一类
  • 做别人一样的网站吗将任意网站提交给google搜索引擎
  • 亿码酷网站建设知乎系统是wordpress
  • 汉阳区建设局网站亦庄网站建设公司
  • 网站设计哪里公司好wordpress链接 结尾
  • 网站换程序太原搜索排名提升
  • 福田区网站建设手机app软件安装下载
  • 房产o2o网站建设工程造价信息网官网入口
  • 网站前端建设报价单欧美做电影 迅雷下载网站
  • wordpress怎么给别人建站公司要做个网站吗
  • 网站代理制作做网店运营需要学什么?
  • 优化企业网站标题外贸网站建设 全球搜
  • 免费建站资源丰台企业网站建设
  • 英文网站建设推广在线观看网址最新电影
  • 网站的图片怎么做淘宝的seo是什么意思
  • 建设银行网站怎么查自己账号吗网页版qq登录wordpress
  • 黑龙江建设网站打不开建设通网站的信息是哪里来的
  • 如何用电脑记事本做网站被跨境电商骗了怎么投诉
  • 手机 网站服务器网站建设程序制作
  • 昆山网站设计哪家好汕头市网站建设
  • 贵阳网站备案wordpress模版侵权
  • php网站制作品牌形象策划
  • 建网站需要什么要求企业做网站需要注意什么
  • 网站建设高级 上海安溪网站开发
  • 网站企业地图网上服务平台登录
  • 盐城市建设局网站物业资质微信指数
  • 网站用户体验度html网页制作代码大全免费