LeetCode/com/zerroi/leetcode/Three18/WordPattern.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;
}
}