Check Two Strings are Anagram

Medium Strings
Two strings are anagrams if they contain the same characters in any order.

Sample input

listen, silent

Sample output

true

Solution

def is_anagram(a, b):
    return sorted(a) == sorted(b)

print(is_anagram("listen", "silent"))
function isAnagram(a, b) {
  const norm = s => s.split("").sort().join("");
  return norm(a) === norm(b);
}

console.log(isAnagram("listen", "silent"));
import java.util.Arrays;

public class Main {
    static boolean isAnagram(String a, String b) {
        char[] x = a.toCharArray();
        char[] y = b.toCharArray();
        Arrays.sort(x);
        Arrays.sort(y);
        return Arrays.equals(x, y);
    }

    public static void main(String[] args) {
        System.out.println(isAnagram("listen", "silent"));
    }
}
fun isAnagram(a: String, b: String) =
    a.toCharArray().sorted() == b.toCharArray().sorted()

fun main() {
    println(isAnagram("listen", "silent"))
}
func isAnagram(_ a: String, _ b: String) -> Bool {
    return a.sorted() == b.sorted()
}

print(isAnagram("listen", "silent"))
bool isAnagram(String a, String b) {
  var x = a.split('')..sort();
  var y = b.split('')..sort();
  return x.join() == y.join();
}

void main() {
  print(isAnagram('listen', 'silent'));
}
#include <iostream>
#include <algorithm>
using namespace std;

bool isAnagram(string a, string b) {
    sort(a.begin(), a.end());
    sort(b.begin(), b.end());
    return a == b;
}

int main() {
    cout << (isAnagram("listen", "silent") ? "true" : "false") << endl;
    return 0;
}
#include <stdio.h>
#include <string.h>

int isAnagram(const char *a, const char *b) {
    int count[256] = {0};
    if (strlen(a) != strlen(b)) return 0;
    for (int i = 0; a[i]; i++) count[(unsigned char) a[i]]++;
    for (int i = 0; b[i]; i++) count[(unsigned char) b[i]]--;
    for (int i = 0; i < 256; i++) if (count[i] != 0) return 0;
    return 1;
}

int main() {
    printf("%s\n", isAnagram("listen", "silent") ? "true" : "false");
    return 0;
}