static String luckNumber(int n) {
        if (n < 1)
            return "";
        if (n == 1)
            return "4";
        if (n == 2)
            return "7";
        Queue<String> queue = new LinkedList<>();
        queue.offer("4");
        queue.offer("7");
        int pollTime = (n - 1) / 2;
        for (int i = 0; i < pollTime; i++) {
            String s = queue.poll();
            queue.offer(s + "4");
            queue.offer(s + "7");
        }

        String pos = queue.poll();
        String pre = pos;
        while (!queue.isEmpty()) {
            pre = pos;
            pos = queue.poll();
        }
        return n % 2 == 0 ? pos : pre;
    }