刷题——通过前序中序遍历重建二叉树
来源:互联网 发布:宝日龙梅 知乎 编辑:程序博客网 时间:2024/06/01 10:25
/* * 题目描述Given preorder and inorder traversal of a tree, construct the binary tree.Note: You may assume that duplicates do not exist in the tree. */public class ConstructBinaryTreeFromPreorderAndInorderTraversal {public TreeNode buildTree(int[] preorder,int preStart,int preEnd, int[] inorder,int inStart,int inEnd) {if (preStart>preEnd || inStart>inEnd) {return null;}int rootVal = preorder[preStart];TreeNode rootNode = new TreeNode(rootVal);int i = inStart;for (; i <= inEnd; i++) {if (inorder[i]==rootVal) {//中序遍历中找到根break;}}rootNode.left = buildTree(preorder,preStart+1,preStart+i-inStart, inorder,inStart,i-1);rootNode.right = buildTree(preorder,preStart+i-inStart+1,preEnd, inorder,i+1,inEnd);return rootNode;}public TreeNode buildTree(int[] preorder, int[] inorder) {if (preorder==null || inorder==null ||preorder.length==0 || inorder.length==0) {return null;} return buildTree(preorder,0,preorder.length-1, inorder,0,inorder.length-1); }public static void main(String[] args) {// TODO Auto-generated method stub}}
阅读全文
0 0
- 刷题——通过前序中序遍历重建二叉树
- 二叉树- 遍历& 重建
- 通过中序和后续遍历数组重建二叉树
- 根据前序中序遍历,重建二叉树
- 二叉树重建及遍历
- 重建二叉树(根据前序中序遍历构建二叉树)
- 根据二叉树的前序中序遍历序列重建二叉树
- 【剑指offer】如何通过先序遍历与中序遍历重建二叉树
- 已知二叉树前序中序遍历重建二叉树
- 重建二叉树——输入前序、中序遍历构建二叉树并输出后序遍历
- Binary Tree——给定二叉树的前序遍历和中序遍历重建二叉树
- 二叉树——重建二叉树
- 通过前序遍历和中序遍历重建二叉树以及输出后序遍历(Java实现)
- 重建二叉树以及树的遍历
- [算法学习]输入遍历重建二叉树
- 二叉树的遍历及重建
- 二叉树的遍历和重建
- UVa 548 - Tree 二叉树的重建——中序遍历与后续遍历进行建树
- eclipse报错Resource is out of sync with the file system的解决方法
- 逻辑学 随笔 (始于正方法而终于负方法)
- .NET后端处理带有"\"符号的数据
- Python编程_Lesson016_类的高级用法
- 链表翻转
- 刷题——通过前序中序遍历重建二叉树
- java 基础篇
- android的recovery,fastboot和bootloader
- BZOJ 3377 [Usaco2004 Open]The Cow Lineup 奶牛序列
- 百练_2719:陶陶摘苹果
- 进程间通讯——指针方式的内存读写
- 使用深度网络创造艺术:CAN, creative adversarial networks
- css入门基础知识
- "狗日"的格力——记录一个屌丝消费者与世界500强格力的战斗史