leetcode 105
题目描述
105. 从前序与中序遍历序列构造二叉树
给定两个整数数组 preorder
和 inorder
,其中 preorder
是二叉树的先序遍历, inorder
是同一棵树的中序遍历,请构造二叉树并返回其根节点。
示例 1:
1 |
|
解题思路
- 递归,根据前序和中序的特性,前序数组的第一个元素一定为根节点,那么在中序数组中找到该节点,在中序数组中,该节点左侧的都是left上的节点,对应数量在前序数组的root节点之后,以此将其分开
执行用时:9 ms, 在所有 Java 提交中击败了8.56%的用户
内存消耗:86.4 MB, 在所有 Java 提交中击败了5.00%的用户
通过测试用例:203 / 203
时间 O(N)
空间 O(N)
1 |
|
- 递归但不使用 Arrays.copyOfRange,
执行用时:3 ms, 在所有 Java 提交中击败了42.85%的用户
内存消耗:40.9 MB, 在所有 Java 提交中击败了97.12%的用户
通过测试用例:203 / 203
时间 O(N)
空间 O(N)
1 |
|
leetcode 105
https://kkkkkong.github.io/posts/65064.html