Code Bye

如何使两个字符串匹配更高效

如何使两个字符串匹配更高效 ?

假设两个字符串中所含有的字符和个数都相同我们就叫这两个字符串匹配
比如:abcda和adabc,由于出现的字符个数都是相同,只是顺序不同,
所以这两个字符串是匹配的。要求高效!

static bool IsMatch(string s1, string s2)
{
    if (s1 == null && s2 == null) return true;
    if (s1 == null || s2 == null) return false;
    if (s1.Length != s2.Length) return false;
    int[] check = new int[128];
    foreach (char c in s1)
    {
        check[(int)c]++;
    }
    foreach (char c in s2)
    {
        check[(int)c]--;
    }
    foreach (int i in check)
    {
        if (i != 0) return false;
    }
    return true;
}

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明如何使两个字符串匹配更高效