博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
剑指 Offer 07. 重建二叉树
阅读量:793 次
发布时间:2019-03-25

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

剑指 Offer 07. 重建二叉树

思路

用递归来连接

代码

在这里插入图片描述

/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */class Solution {
//将指定数组的指定范围复制到新数组中。 public TreeNode buildTree(int[] preorder, int[] inorder) {
if (preorder.length == 0 || inorder.length == 0) {
return null; } int n = preorder.length; int rootVal = preorder[0], rootIndex = 0; //遍历数组 for (int i = 0; i < n; i++) {
if (inorder[i] == rootVal) {
rootIndex = i; break; } } TreeNode root = new TreeNode(rootVal); //定义根结点 root.left = buildTree(Arrays.copyOfRange(preorder, 1, 1 + rootIndex), Arrays.copyOfRange(inorder, 0, rootIndex)); root.right = buildTree(Arrays.copyOfRange(preorder, 1 + rootIndex, n), Arrays.copyOfRange(inorder, rootIndex + 1, n)); return root; }}

转载地址:http://qixyk.baihongyu.com/

你可能感兴趣的文章