Determining if two strings are anagrams of each other
The code is technically broken: it only tells that the strings are composed of the same letters. It is not enough for the strings to be anagrams. Each letter must appear the same number of times in both strings.

Making your char_set array integer instead of boolean you can get the correct result still in linear time:

    int [] counters = new int[256];
    set_counters_to_zero();
    for (int i = 0; i &lt; str1.len(); i++) {
        counters[str1.charAt(i)]++;
    }
    for (int i = 0; i &lt; str2.len(); i++) {
        counters[str2.charAt(i)]--;
    }
    return all_counters_are_zero();