public String getDirections(int[] x, int[] y) {
        if (x == null || y == null || x.length != y.length) {
            return "";
        }

        int len = x.length;
        StringBuilder str = new StringBuilder();
        for (int i = 0; i < len; i++) {
            if (safeDown(x, y, i, len)) {
                str.append("D");
            } else if (safeLeft(x, y, i, len)) {
                str.append("L");
            } else if (safeRight(x, y, i, len)) {
                str.append("R");
            } else if (safeUp(x, y, i, len)) {
                str.append("U");
            } else {
                return "";
            }
        }

        return str.toString();
    }