private TreeNode helper(int[] inorder, int[] postorder, int inStart, int inEnd, int postStart, int postEnd){ if (inStart > inEnd || postStart > postEnd) returnnull;
int i = inStart;
for (; i <= inEnd; i++) { if (inorder[i] == postorder[postEnd]) break; }
TreeNode root = new TreeNode(postorder[postEnd]); root.left = helper(inorder, postorder, inStart, i - 1, postStart, postEnd - inEnd + i - 1); root.right = helper(inorder, postorder, i + 1, inEnd, postEnd - inEnd + i, postEnd - 1);
近期评论