>>104
遅いのはStringBuffer使ったりループに直したりすれば何とかなると思うがやってないからわからん
public class Shukudai {
    static String printTriangleSub(String left, int height) {
        if (left.length() == height) {
            System.out.println(left + "#");
            return " ";
        }

        String inner = printTriangleSub(left + " ", height);
        System.out.println(left + "#" + inner + "#");
        return inner + "  ";
    }

    static void printTriangle(int height) {
        printTriangleSub(" ", height);
        for (int i = 0; i < height - 1; i++) {
            System.out.print("##");
        }
        System.out.println("#");
    }

    public static void main(String[] args) {
        printTriangle(4);
    }
}