105.从中序与前序遍历序列构造二叉树 发表于 2020-09-25 | 分类于 算法 | 本文总阅读量 次 字数统计: 159 | 阅读时长 ≈ 1 题目描述 题解递归这道题方法与106题一模一样, 只是遍历的顺序有所变化而已, 具体查看106题解 12345678910111213141516171819202122232425262728293031public class lc105 { int[] preorder; HashMap<Integer, Integer> map; public TreeNode buildTree(int[] preorder, int[] inorder) { this.preorder = preorder; this.map = new HashMap<>(); for (int i = 0; i < inorder.length; i++) { map.put(inorder[i], i); } return helper(0, preorder.length - 1, 0, inorder.length - 1); } private TreeNode helper(int ps, int pe, int ls, int le) { if (ps > pe || ls > le) { return null; } int val = preorder[ps]; TreeNode root = new TreeNode(val); int li = map.get(val); root.left = helper(ps + 1, ps + li - ls, ls, li - 1); root.right = helper(ps + li - ls + 1, pe, li + 1, le); return root; }} -------------本文结束感谢您的阅读------------- 可以请我喝杯奶茶吗 打赏 微信支付 支付宝