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

磐石网站seo财务公司网站模板下载

磐石网站seo,财务公司网站模板下载,耒阳在那做网站,开发网站公司有哪些题目描述 给出一个二叉树,请由该二叉树生成一个新的二叉树,它满足其树中的每个节点将包含原始树中的左子树和右子树的和。左子树表示该节点左侧叶子节点为根节点的一颗新树;右子树表示该节点右侧叶子节点为根节点的一颗新树。 输入描述 2行整数&#…

题目描述

给出一个二叉树,请由该二叉树生成一个新的二叉树,它满足其树中的每个节点将包含原始树中的左子树和右子树的和。左子树表示该节点左侧叶子节点为根节点的一颗新树;右子树表示该节点右侧叶子节点为根节点的一颗新树。

输入描述

2行整数,第1行表示二叉树的中序遍历,第2行表示二叉树的前序遍历,以空格分割。

输出描述

1行整数,表示求和树的中序遍历,以空格分割。

例1:

输入:
-3 12 6 8 9 -10 -7
8 12 -3 6 -10 9 -7
输出:
0 3 0 7 0 2 0
/*
-3 12 6 8 9 -10 -7
8 12 -3 6 -10 9 -7
0 3 0 7 0 2 0*/
public class 二叉树计算 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int[] mid = Arrays.stream(sc.nextLine().trim().split(" ")).mapToInt(Integer::parseInt).toArray();int[] pre = Arrays.stream(sc.nextLine().trim().split(" ")).mapToInt(Integer::parseInt).toArray();// 构建树Node root = buildTree(mid, pre);// 计算每个节点的值sumTree(root);// 中序遍历输出结果printRes(root);}private static void printRes(Node root) {if (root == null){return;}printRes(root.left);System.out.print(root.val + " ");printRes(root.right);}private static Integer sumTree(Node node) {if (node == null){return 0;}int nodeLeftSum = sumTree(node.left);int nodeRightSum = sumTree(node.right);int valOld = node.val;node.val = nodeLeftSum + nodeRightSum;return node.val + valOld;}private static Node buildTree(int[] mid, int[] pre) {HashMap<Integer, Integer> midMap = new HashMap<>();for (int i = 0; i < mid.length; i++) {midMap.put(mid[i], i);}return getTree(pre, 0, pre.length-1, mid, 0, mid.length-1, midMap);}private static Node getTree(int[] pre, int preIndexStart, int preIndexEnd, int[] mid,int midIndexStart, int midIndexend, HashMap<Integer, Integer> midMap) {if (preIndexStart > preIndexEnd || midIndexStart > midIndexend){return null;}int rootVal = pre[preIndexStart];Node root = new Node(rootVal);// 根据root节点在中序遍历中的下标,可以获取root节点的左右节点的长度Integer midRootIndex = midMap.get(rootVal);int leftSize = midRootIndex - midIndexStart;root.left = getTree(pre,preIndexStart+1,preIndexStart + leftSize,mid, midIndexStart, midRootIndex - 1, midMap);root.right = getTree(pre,preIndexStart + leftSize + 1,preIndexEnd,mid, midRootIndex + 1, midIndexend, midMap);return root;}static class Node{int val;Node left;Node right;public Node(int val) {this.val = val;}}
}

http://www.sczhlp.com/news/110502/

相关文章:

  • 网站开发就业前景怎么样网站建设公司信息
  • cms网站网络地址图片网站建设项目竞争性招标文件
  • Min-Max 容斥小记
  • 【POJ1737】Connected Graph - Harvey
  • AI智能体开发实战:从提示工程转向上下文工程的完整指南
  • 解码C语言九条语句
  • 成品网站定制免费一键建站官网大全
  • 定制营销型网站杭工e家app是哪个网站做的
  • 虚拟商城网站百度云官网登录首页
  • 微信对接网站做暧暧暧昧网站
  • 建设网站服务器的方式有自营方式阿尔山网站建设
  • 如何建设网站咨询跳转页面一键生成小程序免费制作平台
  • django登录注册案例(上) - 详解
  • 从C++开始的编程生活(10)——string类核心语法和auto自动推导类型
  • 做网站的个人总结厦门建网站公司
  • 网站如何屏蔽ip哪个公司做网站最好深圳
  • 这么开网站solaris.wordpress
  • 可视化网站建设软件门户网站用途
  • 网站里的友情链接网页美工设计时色彩搭配的注意事项
  • h5响应式网站是什么意思本地网站搭建教程
  • 学做网站需要学那些程序wordpress和织梦哪个好
  • 移除wordpress上边栏移动网站 图片优化
  • 某交互题选讲的补题记录
  • openwrt ipv6 NAT6配置
  • 奶龙抽象语录
  • 电子商务网站的建设及规划做网站分销违法吗
  • 衡水网站设计哪家专业设计家官网下载
  • 合川网站建设公司攀枝花网站建设公司
  • 怀化北京网站建设沈阳公司网站设计
  • 上海建设工程安全质量监督总站网站网页设计教程pdf