leetcode Word Pattern

leetcode Word Pattern 题目:https://leetcode.com/problems/word-pattern/

解题思路:创建一个map,建立字符与字符串之间的意义映射

直接返回false的情况:

1.键存在,值不同。

2.键不存在,值存在

3.键不存在,值也不存在,插入到map

4.键存在,值相等,继续往下执行。

public static void main(String[] args) {
		String pattern="abba";
		String str="dog cat cat dog";
		boolean flag = wordPattern(pattern, str);
		System.out.println(flag);


	}
	public static boolean wordPattern(String pattern, String str) {
		String[] split = str.split(" ");
		if(pattern.length()!=split.length){
			return false;
		}
		Map<Character,String> map=new HashMap<>();
		for(int i=0;i<pattern.length();i++){
			char c = pattern.charAt(i);
			if(map.containsKey(c)){
				String s = map.get(c);
				if(!s.equals(split[i])){
					return false;
				}
			}else{
				if(map.containsValue(split[i])){
					return false;
				}
				map.put(c,split[i]);
			}
		}
		return true;
	}

猜你喜欢

转载自blog.csdn.net/u011243684/article/details/84979528
今日推荐