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

宁波网站建设详细策划网站的建设时间怎么查

宁波网站建设详细策划,网站的建设时间怎么查,平安网站建设发挥了积极的作用,桐柏县建设局网站题目 给定一棵二叉树和一个值sum,求二叉树中节点值之和等于sum的路径的数目。路径的定义为二叉树中顺着指向子节点的指针向下移动所经过的节点,但不一定从根节点开始,也不一定到叶节点结束。例如,在如图8.5所示中的二叉树中有两条…

题目

给定一棵二叉树和一个值sum,求二叉树中节点值之和等于sum的路径的数目。路径的定义为二叉树中顺着指向子节点的指针向下移动所经过的节点,但不一定从根节点开始,也不一定到叶节点结束。例如,在如图8.5所示中的二叉树中有两条路径的节点值之和等于8,其中,第1条路径从节点5开始经过节点2到达节点1,第2条路径从节点2开始到节点6。
在这里插入图片描述

分析

虽然路径不一定从根节点开始,但仍然可以求得从根节点开始到达当前遍历节点的路径所经过的节点值之和。

如果在路径上移动时把所有累加的节点值之和都保存下来,然后移动的过程中求差值,就容易知道是否存在从任意节点出发的值为给定sum的路径。

有了前面的经验,就可以采用二叉树深度优先搜索来解决与路径相关的问题。当遍历到一个节点时,先累加从根节点开始的路径上的节点值之和,再计算到它的左右子节点的路径的节点值之和。这就是典型的前序遍历的顺序。

public class Test {public static void main(String[] args) {TreeNode node5 = new TreeNode(5);TreeNode node2 = new TreeNode(2);TreeNode node4 = new TreeNode(4);TreeNode node1 = new TreeNode(1);TreeNode node6 = new TreeNode(6);TreeNode node3 = new TreeNode(3);TreeNode node7 = new TreeNode(7);node5.left = node2;node5.right = node4;node2.left = node1;node2.right = node6;node4.left = node3;node4.right = node7;int result = pathSum(node5, 8);System.out.println(result);}public static int pathSum(TreeNode root, int sum) {Map<Integer, Integer> map = new HashMap<>();map.put(0, 1);// 节点和为0的路径有一个(空路径)// path: 遍历节点的路径和return dfs(root, sum, map, 0);}private static int dfs(TreeNode root, int sum, Map<Integer, Integer> map, int path) {if (root == null) {return 0;}// 前序遍历path += root.val;int count = map.getOrDefault(path - sum, 0);// 深度优先遍历,如果以前存在这个差值,那么和当前路径一定是以前路径的延伸map.put(path, map.getOrDefault(path, 0) + 1);count += dfs(root.left, sum, map, path);count += dfs(root.right, sum, map, path);// 当前这个节点遍历完成,重回当前节点的父节点继续遍历。map.put(path, map.get(path) - 1);return count;}
}
http://www.yayakq.cn/news/838866/

相关文章:

  • 山东平台网站建设制作wordpress侧栏显示指定分类
  • 自己建的网站也要注册域名吗域名网站打开慢
  • 国家网站域名wordpress和织梦架构
  • 青岛高创网站建设怎样做网络推广为什么要做网络推广
  • 网站语言包是什么字体logo设计在线生成
  • 个人网站备案后可以做行业内容吗简约智能设备制造公司网站
  • 门户网站开发公司排名一起做网店17普宁
  • 江苏有什么网站找工程建设人员废旧回收做哪个网站好
  • 靖江市住房和城乡建设局的网站河南网站制作公司
  • 运营网站销售队伍建设与管理网站收录图片
  • 网站建设与seo北京手机站建站
  • 网站开发类毕业设计只做男生穿搭的网站
  • 网站开发行业标准优改网logo设计
  • 设计网站大全扣西湖南岚鸿首选美工详情页设计一般多少钱
  • 酒店的内网评价和外网评价seo咨询服务
  • 蛋糕店网站模板企业管理者培训查询
  • 外贸网站 费用网站制作wordpress
  • 中国最大型网站开什么网站暴利
  • 自己做的网站突然打不开多个域名绑定同一个网站
  • 企业网站推广方法实验报告强力搜索引擎
  • discuz论坛门户网站模板域名及密码登录域名管理网站
  • 能浏览的海外网站公司网址注册一般需要多少钱
  • h5技术做网站怎样上传网站程序
  • 做网站需要哪个专业网站开发三层架构的系统
  • 深圳p2p网站开发网站的相关性 实用性
  • 温州网站开发培训河东天津网站建设
  • 怎样建设单位网站网站源代码查看
  • 黄岩路桥网站设计cod单页建站工具
  • 怎样设置默认网站wordpress做商城网站吗
  • 微信手机网站支付怎么做主机开通成功网站建设中