Leetcode 290. Word Pattern
时间:2022-06-22
本文章向大家介绍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
- 程序员面试50题(4)—把字符串转换成整数[算法]
- 程序员面试50题(3)—翻转句子中单词的顺序[算法]
- H5动画开发快车道
- Open vSwith模拟网关实现不同子网的互通
- 总结了一些指针易出错的常见问题(二)
- 史上最清晰的红黑树讲解(上)
- C++之new/delete/malloc/free详解
- 验证 结构体指针与自增运算符
- Spring Cloud中Hystrix 线程隔离导致ThreadLocal数据丢失下篇
- ONOS1.3.0集群实验
- Spring Boot下的TDD(测试驱动开发)
- MySQL的索引是什么?怎么优化?
- C语言之函数
- ElasticSearch搜索引擎在SpringBoot中的实践
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- python第四十五课——继承性之多重继承
- Linux系统——keepalived高可用集群服务
- python第四十五课——继承性之多继承
- HTTP服务器Nginx服务介绍续
- python第四十六课——函数重写
- Linux系统Memcached服务介绍
- python第四十七课——类属性和函数属性
- python第四十八课——类函数和对象函数
- python第四十九课——对象序列化与反序列化
- python第五十课——多态性
- python第五十一课——__slots
- Linux系统安全配置iptables服务介绍
- ThreadLocal企业中真实应用
- python第五十二课--自定义异常类
- python第五十三课——time模块