Isomorphic Strings

原题链接Isomorphic Strings

给定两个字符串,判断其中一个是否能转换成另一个,转换规则如下

  • 必须是一对一
  • 同一个字符两次转换必须相同,如果第一次字符’a’转换成’b’,那么当下次遇到’a’时,它就只能转换成’b’
  • 不能有两个字符转换成相同字符,如果第一次’a’转换成’b’,那么之后其它的字符都不能再转换成’b’

思路:

通过两个数组记录转换规则,直到转换完成

代码如下

class Solution {
public:bool isIsomorphic(string s, string t) {vector<int> nums(256, 0);vector<int> count(256, 0);for(int i = 0; i < s.size(); ++i) {/* 之前没有转换过,记录转换规则 */if(nums[s[i]] == 0 && count[t[i]] == 0) {nums[s[i]] = t[i];count[t[i]] = 1;}/* 当nums[s[i]] == t[i]时正确,否则返回false */else if(nums[s[i]] != t[i]) {return false;}}return true;}
};

Word Pattern

原题链接Word Pattern

判断一个字符串中的单次是否按照给定模式排列

思路:

仍然是一对一的关系,和上面的类似

代码如下

class Solution {
public:bool wordPattern(string pattern, string str) {unordered_map<char, string> hash;unordered_map<string, int> count;std::istringstream oss(str);std::string line;for(auto ch : pattern) {std::getline(oss, line, ' ');if(hash.count(ch) == 0 && count.count(line) == 0) {hash[ch] = line;count[line] = 1;}else if(hash[ch] != line) {return false;}}return std::getline(oss, line) ? false : true;}
};

每天一道LeetCode-----判断给定字符串是否符合某个模式相关推荐

  1. python 正则表达式判断字符串是否为回文_JS使用栈判断给定字符串是否是回文算法示例...

    本文实例讲述了JS使用栈判断给定字符串是否是回文算法.分享给大家供大家参考,具体如下: /*使用栈stack类的实现*/ function stack() { this.dataStore = []; ...

  2. 阿里巴巴笔试题:匹配模式(简单的以字符来写), 比如 aabb, 来判断该字符串是否符合该模式

    //有一个字符串它的构成是词+空格的组合,如"北京 杭州 杭州 北京", //要求输入一个匹配模式(简单的以字符来写), 比如 aabb, 来判断该字符串是否符合该模式, 举个例子 ...

  3. atoi函数_每日一道 LeetCode (50):字符串转换整数 (atoi)

    ❝ 每天 3 分钟,走上算法的逆袭之路. ❞ 前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub:https://github.com/meteor1993/LeetCode Gi ...

  4. 每天一道LeetCode-----寻找给定字符串中重复出现的子串

    Repeated DNA Sequences 原题链接Repeated DNA Sequences 在给定字符串中寻找重复出现的序列,每个序列长度为10 可以采用unordered_map记录每个序列 ...

  5. 判断给定数组是否包含132模式 132 Pattern

    为什么80%的码农都做不了架构师?>>>    问题: Given a sequence of n integers a1, a2, ..., an, a 132 pattern i ...

  6. php正则判断不规范字符串,php学习_第9章_字符串处理与正则表达式

    --php字符串的特点 非字符串类型数据用在字符串处理函数中,会自动转化为字符串后,再进行处理.比如 strsub(123456789,2,4); //得到"3456" 可以将字符 ...

  7. 每日一道leetcode(python)844. 比较含退格的字符串

    每日一道leetcode(python)844. 比较含退格的字符串 2021-09-05 给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果. # 代表 ...

  8. LeetCode高频题:《逆水寒》在地图的制作中,美术在地图上刷一片连通区域,连通区域自动填充,请你判断给定几个点位置,他们是否属于被刷区域

    LeetCode高频题:<逆水寒>在地图的制作中,美术在地图上刷一片连通区域,连通区域自动填充,请你判断给定几个点位置,他们是否属于被刷区域? 提示:本题是系列LeetCode的150道高 ...

  9. 【Shell】判断是否包含给定字符串

    目录 Shell判断字符串包含关系的几种方法 shell中[ ]和[[]]的区别 格式匹配 作者:bandaoyu  链接:https://blog.csdn.net/bandaoyu/article ...

最新文章

  1. linux运行dock打包的镜像,Linux部署之Docker方式部署项目
  2. gpio模拟pwm_模拟智能台灯
  3. ts 模板库文件_vue与ts的使用模版
  4. 阿里云助力浙江大学信息化建设,以实时数据驱动校园智能管理
  5. CANopen | 拓展知识 - CANopen,CAN总线与OSI模型的关系
  6. python调用另一个.py文件中的类和函数
  7. “贵妇”必备的高价糖水,我给燕窝上了10年智商税
  8. NIUDAY 七牛美图 AI 共享日 | 大咖云集 邀您共同探索各场景下的 AI 应用与落地...
  9. [贪心+模拟] zoj 3829 Known Notation
  10. 5006.推荐初学者几本CCNA教程和材料
  11. 【.Net MF网络开发板研究-06】以太网转串口
  12. docker 自定义网络
  13. java数据类型有哪几种_java数据类型有哪些
  14. 常见邮件服务器(接收服务器和发送邮件服务器)地址
  15. 利用T0定时器定时 100ms,每当定时时间到就使 P1.7 求反
  16. 什么是数据驱动业务?
  17. 【NLP】AutoRegressive Language Model
  18. 百度云下载的一些骚操作
  19. c语言int a=011,int x=011;printf(%d.++x);结果是多少?
  20. 【转】人际关系的书,我只推荐这三本,其它的根本就不用看了

热门文章

  1. Java黑皮书课后题第10章:*10.11(几何:Circle2D类)定义Circle2D类
  2. 程序员面试100题之二:跳台阶问题(变态跳台阶)
  3. Docker进阶-资源管理Swarm+Portainer
  4. sonar 匿名内部类写法不推荐
  5. java基础 第一章上(安装 配置java、简单dos命令)
  6. 《Language Implementation Patterns》之访问重写语法树
  7. javascript设计模式-模板方法模式(Template)
  8. Ubuntu开源推进全面展开抢占微软市场
  9. PHP-代码审计-文件上传
  10. IIS7.5配置对PHP的支持