boolean hasUniqueChars(String str) {
        if (str == null || str.isEmpty()) return false;
        if (str.length() > 256) return false;

        boolean[] charSet = new boolean[256];
        for (int i = 0; i < str.length(); ++i) {
            char ch = str.charAt(i);
            if (charSet[ch]) return false;
            else charSet[ch] = true;
        }
        return true;
    }