public SegTree buildTree(int nums[], int i, int j) { if (j < i) return null; SegTree node = new SegTree(i, j); if (i == j) { node.sum = nums[i]; return node; } int mid = (i + j) / 2; node.left = buildTree(nums, i, mid); node.right = buildTree(nums, mid + 1, j); if (node.left != null) node.sum += node.left.sum; if (node.right != null) node.sum += node.right.sum; return node; }