专栏首页SnailTyanLeetcode 290. Word Pattern

Leetcode 290. Word Pattern

版权声明:博客文章都是作者辛苦整理的,转载请注明出处,谢谢! https://blog.csdn.net/Quincuntial/article/details/82594572

文章作者:Tyan 博客:noahsnail.com | CSDN | 简书

1. Description

2. Solution

class Solution {
public:
    bool wordPattern(string pattern, string str) {
        vector<string> strs;
        split(str, strs);
        if(pattern.size() != strs.size()) {
            return false;
        }
        unordered_map<char, string> m1;
        unordered_map<string, char> m2;
        for(int i = 0; i < pattern.length(); i++) {
            if(m1.find(pattern[i]) == m1.end()) {
                m1[pattern[i]] = strs[i];
            }
            else if(m1[pattern[i]] != strs[i]) {
                return false;
            }
            if(m2.find(strs[i]) == m2.end()) {
                m2[strs[i]] = pattern[i];
            }
            else if(m2[strs[i]] != pattern[i]) {
                return false;
            }
        }
        return true;
    }

private:
    void split(string& str, vector<string>& strs) {
        int start = 0;
        for(int i = 0; i < str.length(); i++) {
            if(str[i] == ' ') {
                strs.push_back(str.substr(start, i - start));
                start = i + 1;
            }
        }
        strs.push_back(str.substr(start, str.length() - start));
    }
};

Reference

  1. https://leetcode.com/problems/word-pattern/description/

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Leetcode 557. Reverse Words in a String III

    版权声明:博客文章都是作者辛苦整理的,转载请注明出处,谢谢! https://blog.csdn....

    Tyan
  • Leetcode 49. Group Anagrams

    版权声明:博客文章都是作者辛苦整理的,转载请注明出处,谢谢! https://blog.csdn....

    Tyan
  • Leetcode 17. Letter Combinations of a Phone Number

    版权声明:博客文章都是作者辛苦整理的,转载请注明出处,谢谢! https://blog.cs...

    Tyan
  • Swift4 获取String子字符串

    都说Swift2和Swift3不是同一门语言,但是我怎么觉得Swift4有时看着也像别人家的孩子。。。。 这里主要是更新下以前的写的Swift3的String...

    韦弦zhy
  • zephir-(11)流程控制语句

    #zephir-流程控制语句# ? ##前言## 先在这里感谢各位zephir开源技术提供者 ZEPHIR实现了一个简化的控制结构语句,类似的语言如C,PHP等...

    喵了个咪233
  • C# 遍历读取某个目录文件夹下的不同类型子文件和其子文件夹(里面可能又有许多文件)

    string[] fileEntries = Directory.GetFiles(targetDirectory);

    acoolgiser
  • LWC 58:726. Number of Atoms

    LWC 58:726. Number of Atoms 传送门:726. Number of Atoms Problem: Given a chemical ...

    用户1147447
  • 冷眼旁观Cocos3D发布

      近日网上瞎逛,无意看到了Cocos3D(-x?)发布的消息,不禁为之一震,对此也生出些思考,在此略略记下,权当做些絮叨吧 ~ :)

    用户2615200
  • 字符串、数组处理方法总结

    大象无痕
  • 【模板小程序】字符串截取

    xiaoxi666

扫码关注云+社区

领取腾讯云代金券