• 290.单词模式。给定一种 pattern(模式) 和一个字符串 str ,判断 str 是否遵循相同的模式。(c++方法)


    题目描述:

    给定一种 pattern(模式) 和一个字符串 str ,判断 str 是否遵循相同的模式。

    这里的遵循指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应模式。

    示例1:

    输入: pattern = "abba", str = "dog cat cat dog"
    输出: true

    示例 2:

    输入:pattern = "abba", str = "dog cat cat fish"
    输出: false

    示例 3:

    输入: pattern = "aaaa", str = "dog cat cat dog"
    输出: false

    示例 4:

    输入: pattern = "abba", str = "dog dog dog dog"
    输出: false

    说明:
    你可以假设 pattern 只包含小写字母, str 包含了由单个空格分隔的小写字母。

    实现方法:

    class Solution {
    public:
        bool wordPattern(string pattern, string str) {
            int a=pattern.size();
            int b=0;
            vector<string> strstr;
            vector<string> res;
            string tem="";
            for(int i=0;i<str.size();i++)
            {
                if(str[i]==' ')
                {
                    b++;
                strstr.push_back(tem);
                    tem="";
                }
                    else
                    tem=tem+str[i];
                
            }
           
            b++;
            strstr.push_back(tem);
            if(a!=b)
                return false;
            for(int j=0;j<a;j++)
            {
                res.push_back(pattern[j]+strstr[j]);
            }
            for(int j=0;j<a;j++)
            {
              for(int k=j+1;k<a;k++)
              {
                  int ll=res[j].size();
                  int aa=res[k].size();
                  char mm[ll];
                  char nn[aa];
                  strcpy(mm,res[j].c_str());
                  strcpy(nn,res[k].c_str());
                  char* p=mm;
                  char* q=nn;
                  int tag=strcmp(p,q);
                  if(tag!=0)
                  {
                      if(res[j][0]!=res[k][0]&&strstr[j]!=strstr[k])
                      {
                          continue;
                     
                      }
                      else 
                          return false;
                  }
                  else
                      continue;
                 
              }
            }
            return true;
        }
    };
  • 相关阅读:
    POJ 1325 Machine Schedule(待整理)
    URAL 1109 Conference
    结构体排序初始化最傻最傻的错误
    Radar Installation
    关于Eclipse中插件的安装和文件导出
    贪心算法概述
    今年暑假不AC(水题)
    100197C
    100722C
    树状数组
  • 原文地址:https://www.cnblogs.com/mydomain/p/9977214.html
Copyright © 2020-2023  润新知