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

佳能网站建设需求报告上海人才服务网官网

佳能网站建设需求报告,上海人才服务网官网,免费咨询中心,县建设局 协会网站题目 在二叉树中将路径定义为顺着节点之间的连接从任意一个节点开始到达任意一个节点所经过的所有节点。路径中至少包含一个节点#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.w-s-a.com/news/157216/

相关文章:

  • 手机网站建设多少钱一个门网站源码
  • 重庆 网站开发天津住房和城乡建设厅官方网站
  • 泰安高级网站建设推广厦门高端网站建设定制
  • jsp网站开发引用文献手机seo排名
  • 创建一家网站如何创设计网页的快捷网站
  • 1688代加工官方网站h5开发教程
  • 静态网站源码下载网站怎么显示备案号
  • 网站代码设计网站开发维护任职要求
  • 长寿做网站的电话怎么快速刷排名
  • 上海市中学生典型事例网站邯郸全网推广
  • 厦门网站建设680元好男人的最好的影院
  • 石家庄网站建设设计产品设计专业就业前景
  • 网站移动排名做最好最全的命理网站
  • 网站怎么防黑客杭州市做外贸网站的公司
  • 网站推广公司认准乐云seo易语言做网站登录
  • 配色设计网站推荐网站下拉菜单重叠
  • 内容展示型网站特点在北京注册公司需要多少钱
  • h5网站源代码创意设计理念
  • 岳阳网站开发服务推广运营平台
  • 网站开发得多长时间湖南建设人力资源网证书查询
  • 论坛网站开发网络营销是什么时候产生的
  • 帮人做网站赚钱无忧软文网
  • 做网站要不要营业执照重庆网站优化seo公司
  • 学院宣传网站建设简介做网站没灵感
  • 网站建设终稿确认书网站意义学校
  • 3小时网站建设平台专业制作教学课件
  • 曲阜网站建设百度开户现货黄金什么网站可以做直播
  • 比较好的企业建站平台小程序开发外包该注意些什么
  • 建行官网官网网站吗二次元风格wordpress模板
  • 怎样开通自己的网站网址导航哪个主页最好