LeetCode Construct Binary Tree from Inorder and Postorder Tr

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

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

题意:中序和后序建树。

思路:还是简单的递归构造。

/** * Definition for a binary tree node. * public class TreeNode { *int val; *TreeNode left; *TreeNode right; *TreeNode(int x) { val = x; } * } */public class Solution {private TreeNode build(int[] inorder, int[] postorder, int l, int r, int len) {if (len <= 0) return null;int rootVal = postorder[r+len-1];TreeNode root = new TreeNode(rootVal);int index = 0;for (int i = 0; i < len; i++)if (inorder[l+i] == rootVal) {index = i;break;}root.left = build(inorder, postorder, l, r, index);root.right = build(inorder, postorder, l+index+1, r+index, len-1-index);return root;}public TreeNode buildTree(int[] inorder, int[] postorder) {return build(inorder, postorder, 0, 0, inorder.length);}}

,没有一种不通过蔑视、忍受和奋斗就可以征服的命运。

LeetCode Construct Binary Tree from Inorder and Postorder Tr

相关文章:

你感兴趣的文章:

标签云: