zoukankan      html  css  js  c++  java
  • 【leetcode】】单词规律

    bool wordPattern(char * pattern, char * str){
        char **hash = (char **)malloc(26 * sizeof(char*));
        for (int i = 0; i < 26; ++i)
        {
            hash[i] = (char*)malloc(64 * sizeof(char));
            memset(hash[i], 0, 64 * sizeof(char));
        }
        int len = strlen(pattern);
        for (int i = 0; i < len; ++i)
        {
            char *p = str;
            while (p && *p != 0 && *p != ' ') ++p;
            if (' ' == *p) *p++ = 0;
            if (strlen(str) == 0)
                return false;
            int pos = pattern[i] - 'a';
            if (strlen(hash[pos]) == 0)
            {
                for (int j = 0; j < 26; ++j)
                {
                    if (j != pos && strlen(hash[j]) > 0)
                    {
                        if (strcmp(hash[j], str) == 0)
                            return false;
                    }
                }
                strcpy(hash[pos], str);
            }
            else
            {
                if (strcmp(hash[pos], str) != 0)
                    return false;
            }
            str = p;        
        }
        if (strlen(str) > 0)
            return false;
        return true;
    }
    
    
  • 相关阅读:
    第三周学习笔记
    质量属性
    第四周学习
    逻辑回归
    架构的概念
    第二周总结
    线性回归
    十步走-阅读笔记六
    十步走-阅读笔记五
    P2633 Count on a tree
  • 原文地址:https://www.cnblogs.com/ganxiang/p/13562745.html
Copyright © 2011-2022 走看看