// 后续遍历特点:最后一个节点是root节点 public TreeNode buildTree(int[] posArr, int left, int right) { if (left > right) { return null; } TreeNode node = new TreeNode(posArr[right]); int less = -1; int mid = right; for (int i = left; i < right; i++) { if (posArr[right] > posArr[i]) { less = i; } else { mid = mid == right ? i : mid; } } node.left = buildTree(posArr, left, mid); node.right = buildTree(posArr, mid, right - 1); return node; }
根据后续遍历构建搜索二叉树
最新推荐文章于 2022-08-15 09:44:30 发布