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

杭州集团网站建设催眠物语wordpress

杭州集团网站建设,催眠物语wordpress,wordpress拼图,wordpress 装修公司主题一、题目描述与要求 二叉树中和为某一值的路径(二)_牛客题霸_牛客网 (nowcoder.com) 题目描述 输入一颗二叉树的根节点root和一个整数expectNumber#xff0c;找出二叉树中结点值的和为expectNumber的所有路径。 1.该题路径定义为从树的根结点开始往下一直到叶子结点所经过…一、题目描述与要求 二叉树中和为某一值的路径(二)_牛客题霸_牛客网 (nowcoder.com) 题目描述 输入一颗二叉树的根节点root和一个整数expectNumber找出二叉树中结点值的和为expectNumber的所有路径。 1.该题路径定义为从树的根结点开始往下一直到叶子结点所经过的结点 2.叶子节点是指没有子节点的节点 3.路径只能从父节点到子节点不能从子节点到父节点 4.总节点数目为n 如二叉树root为{10,5,12,4,7},expectNumber为22 则合法路径有[[10,5,7],[10,12]] 数据范围: 树中节点总数在范围 [0, 5000] 内 -1000 节点值 1000 -1000  expectNumber  1000 示例 示例1 输入{10,5,12,4,7},22 返回值[[10,5,7],[10,12]] 说明返回[[10,12],[10,5,7]]也是对的 示例2 输入{10,5,12,4,7},15 返回值[] 示例3 输入{2,3},0 返回值[] 示例4 输入{1,3,4},7 返回值[] 二、解题思路 根据题目描述我们需要找到二叉树中结点值的和为target的所有路径。 路径定义为从树的根结点开始往下一直到叶子结点所经过的结点因而我们需要从根结点开始遍历所有结点一直到叶子结点的所有路径并且判断其是否满足target而我们怎么去实现遍历完一条分支之后转移到另一条分支呢那就是回溯也就是当我们访问完当前这一条路径并且到达叶子结点的时候我们返回上一个结点去访问另一个分支这样就能够找出所有的路径。 这一思路也就是遍历图的深度优先算法思想。 首先我们定义两个vector一个用来存储符合题目要求的所有路径另一个用来存储目前所走的路径需要设置为全局变量因为dfs函数时另外写的方便访问而不用通过传参 然后我们调用dfs函数来寻找路径。 首先先判断是否为空树/空节点是的话就返回空/返回上一级 然后就是将当前结点存入path中这里用emplace_back/push_back都可以emplace_back的效率会更高一点 然后更新目前的目标值也就是减去当前结点的值 然后判断当前结点是否为叶子结点如果是的话判断此时的target是否等于0如果以上条件都满足的话就说明当前路径是满足条件的路径将路径存入v中否则则对当前结点的左右子树继续进行遍历 每遍历完一条分支之后都需要回溯到上一个结点从而去访问另一条分支因而需要将当前结点弹出 最后返回v即可。 三、具体代码 #include vector class Solution { public:/*** 代码中的类名、方法名、参数名已经指定请勿修改直接返回方法规定的值即可** * param root TreeNode类 * param target int整型 * return int整型vectorvector*/vectorvectorint v;//存储所有路径vectorint path;//存储当前路径void dfs(TreeNode* root,int target){//如果为空树返回空if(rootnullptr) return;//emplace_back——就地构造直接在容器内构造对象不用拷贝一个复制品再使用强制类型转换) 比push_back效率更高//路径更新 添加当前结点path.emplace_back(root-val);//更新目标值 减去当前结点的值target-root-val;//如果当前结点为叶子结点且目前的目标值0则代表是满足的路径if(root-leftnullptrroot-rightnullptrtarget0){v.emplace_back(path);}dfs(root-left,target);dfs(root-right,target);//遍历到叶子结点之后弹出当前结点寻找另一条路径//也就是当前分支结束后回溯到上一级沿另一个分支继续走到底 一直到所有结点都被访问过path.pop_back();}vectorvectorint FindPath(TreeNode* root, int target) {dfs(root,target);return v;} };
http://www.zqtcl.cn/news/202280/

相关文章:

  • 免费的黄冈网站有哪些平台wordpress 新闻发布
  • 给男票做网站表白的软件wordpress软件网站模板下载
  • 网站备案个人可以做吗dw制作一个手机网站模板
  • 如何识别一个网站是否做的好坏新河官网
  • 深圳网站建设 卓教育直播网站开发
  • 如何修改网站后台密码河南省罗山县做网站的公司
  • 个人网站免费源码大全湖南长沙新增病例最新消息
  • 途牛网站开发需求邯郸市中小学健康管理平台登录
  • 青岛商城网站开发年度关键词有哪些
  • 电商网站开发文献综述网站文案优化
  • 兼职工厂网站建设万维网的代表网站
  • 企业要建设一个网站需要多少钱网站制作的关键技术
  • 大连住房和城乡建设网站工程公司取名字大全
  • 自建网站投放广告网页设计色彩搭配
  • 网站建站公司哪家价钱合理seo优化是什么职位
  • 德州建设网站网络营销推广方式
  • 网站建设经费预算策划书河南省城乡建设厅网站
  • 校园二手网站开发与设计任务书wordpress 分类名称
  • 高端网站建设那公司好简约网站设计欣赏
  • 域名的网站建设方案书wordpress图片插件
  • 哪个网站做的w7系统好百度网络营销的概念
  • 哪里接单做网站怎么个人网站设计
  • 乐陵seo网站优化网站后期维护是做什么
  • 网站导航html源码网站编辑的工作职能有哪些
  • 品牌网站建设网wordpress密码保护文章
  • 体彩网站开发网站建设备案流程图
  • 云南网站建设天度网页界面设计遵循的原则
  • dede多个网站怎么做wordpress+adsense主题
  • 如何做网站营销江苏网站建设系统服务
  • 公司网站需要备案网络设置怎么设置