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

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

称号

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

Note:

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

方法

依据树的中序遍历和前序遍历,来构造树。使用递归的思想。

TreeNode getTree(int[] preorder, int preStart, int preEnd, int[] inorder, int inStart, int inEnd) {		if (preStart >= preEnd) {			return null;		}		int cur = preorder[preStart];		TreeNode root = new TreeNode(cur);		int i = 0;		int j = inStart;		while(inorder[j] != cur) {			j++;			i++;		}		root.left = getTree(preorder, preStart + 1, preStart + i + 1, inorder, inStart, inStart + i);		root.right = getTree(preorder, preStart + i + 1, preEnd, inorder, inStart + i + 1, inEnd);				return root;	}    public TreeNode buildTree(int[] preorder, int[] inorder) {    	if (preorder == null) {    		return null;    	}    	int len = preorder.length;    	return getTree(preorder, 0, len, inorder, 0, len);    }

版权声明:本文博客原创文章,博客,未经同意,不得转载。

你可能感兴趣的文章
区块链教程Fabric1.0源代码分析consenter#filter
查看>>
组建网络时如何选取交换机
查看>>
不会发布npm包?进来看看?
查看>>
yum和源码安装redis
查看>>
女生到底适不适合做程序员?!
查看>>
Java并发包分析——BlockingQueue
查看>>
我见过的最好的websocket 介绍
查看>>
PHP 简例 RestFul
查看>>
Linux Redhat 一般用户不能执行sudo有关问题的解决方法
查看>>
ceph13跟ceph12配置文件在启动要增加的内容——2019_10
查看>>
华为 思科 设备 命令行取消分屏显示
查看>>
制作本地yum源
查看>>
PXE + Kickstart v2
查看>>
SED与AWK学习笔记
查看>>
CCNP学习之路由协议ISIS
查看>>
杂记 - 渐行渐远去的8090~
查看>>
css框架图
查看>>
CentOS linux操作系统关闭Sendmail服务命令
查看>>
我的友情链接
查看>>
HPUX11.31U ia64安装配置详细过程文档
查看>>