领扣(LeetCode)单词模式 个人题解
2024-09-01 16:50:50
给定一种 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
包含了由单个空格分隔的小写字母。
这题比较简单。使用hashmap可以较为快捷解决问题。特别的,在这题里需要注意value不唯一对应key的问题,比如“aabb”,“dog dog dog dog”案例中,dog对应了a和b。根据题意是要返回错误的。所以需要加上判断。
代码如下:
class Solution {
public boolean wordPattern(String pattern, String str) {
boolean ans = true;
String[] ss = str.split(" ");
Map<Character, String> map = new HashMap<>();
if (ss.length != pattern.length())
return false;
for (int i = 0; i < pattern.length(); i++) {
if (map.get(pattern.charAt(i)) == null) {
if (!map.containsValue(ss[i])) {
map.put(pattern.charAt(i), ss[i]);
continue;
} else
return false;
}
if (!map.get(pattern.charAt(i)).equals(ss[i])) {
ans = false;
break;
}
}
return ans;
}
}
最新文章
- drawable animation
- 学习OpenCV——HOG+SVM
- (转)QML代码与现有Qt UI代码整合
- poj 2891 Strange Way to Express Integers (非互质的中国剩余定理)
- 翻阅《数据结构与算法javascript描述》--数组篇
- 权威发布:长链非编码RNA命名规则
- CodeForces 489C (贪心) Given Length and Sum of Digits...
- C:应用于字符串处理函数
- Why SignalR does not use WebSockets?
- ASP.NET MVC中加载WebForms用户控件(.ascx)
- Router
- Discuz的安装与使用
- JVM 指令
- Draw your Next App Idea with Ink to Code
- Struts的FormFile与Commons-FileUpload控件使用心得
- Dockerfile详解(二)
- 5. Longest Palindromic Substring - Unsolved
- 基于bootstrap的上传插件fileinput实现ajax异步上传功能(支持多文件上传预览拖拽)
- Final发布用户使用报告 -- Thunder团队
- Raven: 2靶机入侵
热门文章
- java控制执行流程
- Spring 基础知识学习
- 百万年薪python之路 -- 并发编程之 多线程 三
- git 拉取指定的远程分支(三种方式)
- abp(net core)+easyui+efcore实现仓储管理系统——EasyUI之货物管理六(二十四)
- SQLServer执行大脚本文件时,提示“无法执行脚本没有足够的内存继续执行程序 (mscorlib)”
- fenby C语言 P18
- 【Java必修课】通过Value获取Map中的键值Key的四种方法
- virtual与override的使用
- C语言存储类别和链接