โ† All problems

567. Permutation in String

MediumOpen on LeetCodeProblem statement

Problem Statement

567. Permutation in String

Medium


Given two strings s1 and s2, return true if s2 contains a permutation of s1, or false otherwise.

In other words, return true if one of s1's permutations is the substring of s2.

 

Example 1:

Input: s1 = "ab", s2 = "eidbaooo"
Output: true
Explanation: s2 contains one permutation of s1 ("ba").

Example 2:

Input: s1 = "ab", s2 = "eidboaoo"
Output: false

 

Constraints:

Java โ€” brute force

Source file
class Solution {
    public boolean checkInclusion(String s1, String s2) {
        int n1 = s1.length(), n2 = s2.length();
        char[] cs = s1.toCharArray();
        Arrays.sort(cs);
        String S1 = new String(cs);
        for (int i = 0; i <= n2 - n1; i++) {
            char[] sub = s2.substring(i, i + n1).toCharArray();
            Arrays.sort(sub);
            if(new String(sub).equals(S1))
                return true;
            // System.out.println(sub);
        }
        return false;
    }
}