/**给定一种规律 pattern 和一个字符串 s ,判断 s 是否遵循相同的规律。 这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 s 中的每个非空单词之间存在着双向连接的对应规律。 示例1: 输入: pattern = "abba", s = "dog cat cat dog" 输出: true*/
- public class Demo29 {
- public static void main(String[] args) {
- Scanner sc=new Scanner(System.in);
- System.out.println("请输入规律pattern");
- String pattern=sc.next();
- System.out.println("请输入一个字符串");
- String a = sc.nextLine();
- String s = sc.nextLine();
- String[] s1=s.split(" ");
- String[] pattern1=pattern.split("");
- if(pattern1.length!=s1.length){
- System.out.println(false);
- return;
- }
- for (int i = 0; i < pattern1.length-1 ; i++) {
- for (int j = i+1; j < pattern1.length ; j++) {
- if(pattern1[i].equals(pattern1[j])){
- if(!s1[i].equals(s1[j])){
- System.out.println(false);
- return;
- }
- }
- if(!pattern1[i].equals(pattern1[j])){
- if(s1[i].equals(s1[j])){
- System.out.println(false);
- return;
- }
- }
- }
- }
- System.out.println(true);
- }
- }