How to check if a string can be constructed by using the letters of another string in Java

1 Answer

0 votes
public class Main {

    public static boolean canConstruct(String str, String anotherstr) {
        int[] freq = new int[256];  // count ASCII chars

        // Count characters in anotherstr
        for (int i = 0; i < anotherstr.length(); i++) {
            freq[anotherstr.charAt(i)]++;
        }

        // Check if str can be constructed
        for (int i = 0; i < str.length(); i++) {
            if (--freq[str.charAt(i)] < 0) {
                return false;
            }
        }

        return true;
    }

    public static void main(String[] args) {
        String str = "hello";
        String anotherstr = "olehhlxyz";

        System.out.println(canConstruct(str, anotherstr));
    }
}


/*
run:

true

*/

 



answered Jan 5 by avibootz

Related questions

...