博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Construct Binary Tree from Preorder and Inorder Traversal
阅读量:5234 次
发布时间:2019-06-14

本文共 1568 字,大约阅读时间需要 5 分钟。

Given preorder and inorder traversal of a tree, construct the binary tree.

Note:

You may assume that duplicates do not exist in the tree.

For example, given

preorder = [3,9,20,15,7]inorder = [9,3,15,20,7]

Return the following binary tree:

3   / \  9  20    /  \   15   7
1 /** 2  * Definition for a binary tree node. 3  * public class TreeNode { 4  *     int val; 5  *     TreeNode left; 6  *     TreeNode right; 7  *     TreeNode(int x) { val = x; } 8  * } 9  */10 class Solution {11     public TreeNode buildTree(int[] preorder, int[] inorder) {12         if (preorder == null || inorder == null || preorder.length == 0 || inorder.length != preorder.length) return null;13         return buildTree(inorder, 0, preorder, 0, inorder.length);14     }15     16     public TreeNode buildTree(int[] inorder, int inStart, int[] preorder, int preStart, int length) {17         if (length == 0) return null;18         TreeNode root = new TreeNode(preorder[preStart]);19         int index = findIndex(inorder, root.val);20         root.left = buildTree(inorder, inStart, preorder, preStart + 1, index - inStart);21         root.right = buildTree(inorder, index + 1, preorder, preStart + (index - inStart) + 1, length - (index - inStart) - 1);22         return root;    23     }24     25     public int findIndex(int[] inorder, int val) {26         for (int i = 0; i < inorder.length; i++) {27             if (inorder[i] == val) {28                 return i;29             }30         }31         return -1;32     }33 }

 

转载于:https://www.cnblogs.com/beiyeqingteng/p/10468683.html

你可能感兴趣的文章
使用shared memory 计算矩阵乘法 (其实并没有加速多少)
查看>>
Django 相关
查看>>
git init
查看>>
训练记录
查看>>
IList和DataSet性能差别 转自 http://blog.csdn.net/ilovemsdn/article/details/2954335
查看>>
Hive教程(1)
查看>>
第16周总结
查看>>
C#编程时应注意的性能处理
查看>>
Fragment
查看>>
比较安全的获取站点更目录
查看>>
苹果开发者账号那些事儿(二)
查看>>
使用C#交互快速生成代码!
查看>>
UVA11374 Airport Express
查看>>
P1373 小a和uim之大逃离 四维dp,维护差值
查看>>
NOIP2015 运输计划 树上差分+树剖
查看>>
P3950 部落冲突 树链剖分
查看>>
读书_2019年
查看>>
读书汇总贴
查看>>
微信小程序 movable-view组件应用:可拖动悬浮框_返回首页
查看>>
MPT树详解
查看>>