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

门户网站建设询价公告微信商城小程序开发教程

门户网站建设询价公告,微信商城小程序开发教程,wordpress仿小刀主题,官网网站设计题目 在二叉树中将路径定义为顺着节点之间的连接从任意一个节点开始到达任意一个节点所经过的所有节点。路径中至少包含一个节点#xff0c;不一定经过二叉树的根节点#xff0c;也不一定经过叶节点。给定非空的一棵二叉树#xff0c;请求出二叉树所有路径上节点值之和的最…题目 在二叉树中将路径定义为顺着节点之间的连接从任意一个节点开始到达任意一个节点所经过的所有节点。路径中至少包含一个节点不一定经过二叉树的根节点也不一定经过叶节点。给定非空的一棵二叉树请求出二叉树所有路径上节点值之和的最大值。例如在如图8.6所示的二叉树中从节点15开始经过节点20到达节点7的路径的节点值之和为42是节点值之和最大的路径。 分析 这个题目中二叉树路径的定义又和前面的不同。这里的路径最主要的特点是路径有可能同时经过一个节点的左右子节点。例如在图8.6中一条路径可以经过节点15、节点20和节点7即节点20的左子节点15和右子节点7同时在一条路径上。当然路径也可以不同时经过一个节点的左右子节点。例如在图8.6中一条路径可以经过节点-9、节点20、节点15和节点-3。 也就是说当路径到达某个节点时该路径既可以前往它的左子树也可以前往它的右子树。但如果路径同时经过它的左右子树那么就不能经过它的父节点。 由于路径可能只经过左子树或右子树而不经过根节点为了求得二叉树的路径上节点值之和的最大值需要先求出左右子树中路径节点值之和的最大值左右子树中的路径不经过当前节点再求出经过根节点的路径节点值之和的最大值最后对三者进行比较得到最大值。由于需要先求出左右子树的路径节点值之和的最大值再求根节点这看起来就是后序遍历。 解 public class Test {public static void main(String[] args) {TreeNode node_9 new TreeNode(-9);TreeNode node4 new TreeNode(4);TreeNode node20 new TreeNode(20);TreeNode node15 new TreeNode(15);TreeNode node7 new TreeNode(7);TreeNode node_3 new TreeNode(-3);node_9.left node4;node_9.right node20;node20.left node15;node20.right node7;node15.left node_3;int result maxPathSum(node_9);System.out.println(result);}public static int maxPathSum(TreeNode root) {int[] maxSum {Integer.MIN_VALUE};dfs(root, maxSum);return maxSum[0];}private static int dfs(TreeNode root, int[] maxSum) {if (root null) {return 0;}int[] maxSumLeft {Integer.MIN_VALUE};int left Math.max(0, dfs(root.left, maxSumLeft));int[] maxSumRight {Integer.MIN_VALUE};int right Math.max(0, dfs(root.right, maxSumRight));// 先递归调用函数dfs求得左右子树的路径节点值之和的最大值maxSumLeft及maxSumRight再求出经过当前节点root的路径的节点值之和的最大值那么参数maxSum就是这3个值的最大值。maxSum[0] Math.max(maxSumLeft[0], maxSumRight[0]);maxSum[0] Math.max(maxSum[0], root.val left right);// 先left代表左树right代表右树return root.val Math.max(left, right);// 后是子树的行为不是本身这个节点的行为} }
http://www.pierceye.com/news/71718/

相关文章:

  • 内蒙古自治区建设厅网站首页哈尔滨网页设计推广
  • php招投标网站源码官方网站链接如何做
  • 商城网站数据库表关系设计免费生成ppt的网站
  • phpstudy做正式网站asp+php+mysql+aspx环境搭建与6种网站安装2
  • 绵阳企业品牌网站建设2023年8月份新冠
  • 网站下载的app删除了怎么找到免费推广软件 推广帮手
  • 企业网站设计中常见的排版类型模板网站有利于做seo吗
  • 安卓系统上怎样做网站前端开发o2o网站制作
  • 用jsp做的网站框架想开一家公司需要多少钱
  • 大学生兼职网网站建设计划书wordpress 分类目录树
  • 做外贸网站需要注意些什么做一百度网站吗
  • 我的网站百度找不到了深圳网络品牌推广公司
  • 徐州网站建设xzqjwl南京做网站xjrkj
  • 做汽配的外贸网站北京建设网经济适用房
  • 建设团队网站天津做企业网站
  • 网站项目框架企业年金是什么意思
  • 网站更新步骤lamp网站开发架构经验
  • 网站开发技术要学什么软件北京市违法建设投诉网站
  • 辛集建设局网站曲阜网站建设百度开户
  • 贵安新区城乡住房建设厅网站眉县住房和城乡建设局网站
  • 课题组网站怎么做亚马逊的免费网站
  • 公司网站建设方案详细方案注册一个公司需要什么
  • 北京建设电工证查询网站电商网站怎样优化
  • wordpress建站dedecms农产品网站开发背景
  • 做企业网站代码那种好广州骏域网站建设专家手机电脑版
  • 商务网站开发课程建言有没有专门做建筑造价的私单网站
  • 湘潭网站建设 问下磐石网络群晖wordpress安装教程
  • 高端网站定制策划wordpress入站密码
  • 双辽做网站做网站建设业务
  • 一台云服务器可以做多少个网站论述网站建设的主要步骤