使用后序遍历和叶节点数组创建先序遍历10 Sept 2024 | 4 分钟阅读 输入中,我们有两个给定的数组。一个数组是代表二叉树后序遍历的整数数组,另一个数组是提供叶节点信息的布尔数组。后序数组中的每个元素都有一个对应的叶节点数组中的布尔值。如果布尔数组中的值为 true,则给定的元素将构成二叉树中的叶节点;否则,则不是。我们的任务是显示输入中给定的后序遍历的二叉树的前序遍历。请注意,可能存在多个具有相同后序遍历的二叉树。必须考虑其中任意一个二叉树,并根据该二叉树显示前序遍历到控制台。 示例 1 输入 后序遍历 = { 140, 120, 150, 160, 130, 110, 170 } isLeaf = { true, false, true, true, false, false, false } 输出 { 170, 110, 120, 140, 130, 150, 160 } 方法概念是首先借助后序序列的最后一个键来识别二叉树的根节点。然后借助给定的布尔数组,我们检查根节点是叶节点还是内部节点。如果根节点是内部节点,则递归创建其左子树和右子树。以下是上述方法的实现。 文件名: CreatePreorder.java 输出 For a tree whose post order traversal is: 140 120 150 160 130 110 170 The preorder traversal is: 170 110 120 140 130 150 160 复杂度分析:程序的时间复杂度和空间复杂度都是 O(n),其中 n 是前序遍历数组中元素的数量。 |
给出了一个数字n。我们的任务是找到数字n!中存在的数字的总数。示例1:输入整数n = 9输出:6说明:9!的值为9 x 8 x 7 x 6 x 5 x 4 x 3 x...
5 分钟阅读
Java 中的字符流和字节流区别 在 Java 中,流用于输入和输出操作,允许从源或目的地读取或写入数据。Java 提供两种类型的流:字符流 字节流 这些流在...
阅读 6 分钟
LinkedList(链表)是计算机科学中的基本数据结构,它提供动态存储分配和灵活性。它由通过指针连接的节点组成,每个节点包含数据和指向下一个节点的引用。在本文中,我们将探讨比较两个链表的各种方法……
11 分钟阅读
Java 是一种支持泛型类和方法开发的编程语言。Java 的泛型功能使用户能够设计可以操作多种对象类型而无需进行类型转换的代码。尽管如此,泛型类型有时仍需要转换为特定类型……
阅读 4 分钟
有时我们希望程序的输出以给定的特定格式打印出来。在 C 编程语言中,这可以使用 printf() 函数来实现。在本节中,我们将讨论不同的输出格式。让我们讨论如何格式化...
阅读 4 分钟
Java IntSummaryStatistics 类的 getCount() 函数用于确定此 IntSummaryStatistics 中的记录数。语法:public long getCount() 参数:此方法不接受任何参数。返回值:该函数返回此 IntSummaryStatistics 中的记录总数。示例...
阅读 2 分钟
什么是左截断素数?在数论中,左截断素数是一种特殊的素数,当从左侧连续移除数字时,它仍然是素数。换句话说,如果我们截掉左截断素数的左侧数字,得到的数字仍然是素数。...
阅读 3 分钟
在Java中,TreeMap类是Map接口的一个常用实现,它根据键的自然排序或自定义比较器以排序的顺序存储键值对。默认情况下,TreeMap按升序对元素进行排序。但是,...
5 分钟阅读
数组是固定大小的同类数据结构。数组的限制是它们的大小是固定的。这意味着我们在声明数组时必须指定元素的数量。这里出现一个问题,如果我们想插入...
阅读 8 分钟
HashSet 与 LinkedHashSet HashSet 是 Java 集合框架中的一个类,用于创建使用哈希表存储对象的集合。相比之下,LinkedHashSet 类与 HashSet 类似。此外,它还维护插入顺序。HashSet 继承了……
5 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India