zoukankan      html  css  js  c++  java
  • [Leetcode] 第290题 单词模式

    一、题目描述

    给定一种 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

    二、题目分析

    题目比较简单,注意两点

    1)需要建立字母和单词一一对应的关系

    2)注意用空格分割字符串的时候,最后一个单词后面没有空格

    三、代码

     1 class Solution {
     2 public:
     3     bool wordPattern(string pattern, string str) {
     4         if (pattern == "")return false;
     5         map<char, string>mp1;
     6         map<string, char>mp2;//一一对应
     7         vector<string>vs;
     8         int i;
     9         string s = "";
    10         for (i = 0; i < str.size(); ++i) {
    11             if (str[i] == ' ') {
    12                 if (s != "")vs.push_back(s);
    13                 s = "";
    14             }
    15             else s += str[i];
    16         }
    17         if (s != "")vs.push_back(s);//注意最后一个单词
    18         if (pattern.size() != vs.size())return false;
    19         for (i = 0; i < pattern.size(); ++i) {
    20             cout << vs[i] << " ";
    21             if (mp1.find(pattern[i]) != mp1.end()) {
    22                 if (mp1[pattern[i]] != vs[i])return false;
    23             }
    24             else mp1[pattern[i]] = vs[i];
    25             if (mp2.find(vs[i]) != mp2.end()) {
    26                 if (mp2[vs[i]] != pattern[i])return false;
    27             }
    28             else mp2[vs[i]] = pattern[i];
    29         }
    30         return true;
    31     }
    32 };
  • 相关阅读:
    case when then else end
    spark读文件写入mysql(scala版本)
    mysql语句
    spark读文件写mysql(java版)
    spark的广播变量
    hive,把一个表中计算好的数据,存到另一个外部表中
    spark操作hive方式(scala)
    spark sql启动优化
    hive on spark (spark2.0.0 hive2.3.3)
    hive优化,开启压缩功能
  • 原文地址:https://www.cnblogs.com/zhizhiyu/p/10176142.html
Copyright © 2011-2022 走看看