-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path290.word-pattern.java
More file actions
29 lines (26 loc) · 964 Bytes
/
Copy path290.word-pattern.java
File metadata and controls
29 lines (26 loc) · 964 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
class Solution {
public boolean wordPattern(String pattern, String str) {
String[] mapr = new String[26];
String[] arr = str.split(" ");
for(int i=0;i<26;i++)
mapr[i] = "";
if(pattern.length() != arr.length)
return false;
for(int i=0;i<pattern.length();i++){
// System.out.println(pattern.charAt(i) +" "+arr[i]+" "+mapr[pattern.charAt(i)-'a']);
if(mapr[pattern.charAt(i)-'a'].length() == 0)
mapr[pattern.charAt(i)-'a'] = arr[i];
else if(!mapr[pattern.charAt(i)-'a'].equals(arr[i]))
return false;
}
String prev = mapr[0];
HashSet<String> hst = new HashSet<String>();
for(int i=0;i<26;i++)
{
if(mapr[i].length() > 0 && hst.contains(mapr[i]))
return false;
hst.add(mapr[i]);
}
return true;
}
}