46 lines
1.3 KiB
Java
46 lines
1.3 KiB
Java
package com.zerroi.leetcode.Three18;
|
|
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
import java.util.Objects;
|
|
|
|
public class WordPattern {
|
|
public static void main(String[] args) {
|
|
SolutionThird solutionThird = new SolutionThird();
|
|
boolean res = solutionThird.wordPattern("aaaa", "dog cat cat dog");
|
|
System.out.println("res = " + res);
|
|
|
|
}
|
|
}
|
|
|
|
class SolutionThird {
|
|
public boolean wordPattern(String pattern, String s) {
|
|
HashMap<Character, String> patternToS = new HashMap<>();
|
|
HashMap<String, Character> SToPattern = new HashMap<>();
|
|
String[] strs = s.split(" ");
|
|
if (pattern.length() != strs.length) {
|
|
return false;
|
|
}
|
|
for (int i = 0; i < pattern.length(); i++) {
|
|
char c = pattern.charAt(i);
|
|
String str = strs[i];
|
|
if (patternToS.containsKey(c)) {
|
|
if (!Objects.equals(patternToS.get(c), str)) {
|
|
return false;
|
|
}
|
|
} else {
|
|
patternToS.put(c, str);
|
|
}
|
|
|
|
if (SToPattern.containsKey(str)) {
|
|
if (SToPattern.get(str) != c) {
|
|
return false;
|
|
}
|
|
} else {
|
|
SToPattern.put(str, c);
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
}
|