首页 > 代码库 > word-pattern(mock)
word-pattern(mock)
注意:
// String要用equals,不然比较结果不对,会出bug
// 使用String.split
// boolean打印用 %b
// abba 对应 cccc 也不行, 所以要用set记录
https://leetcode.com/problems/word-pattern/ https://leetcode.com/mockinterview/session/result/xsl1lbt/ package com.company; import java.util.*; class Solution { public boolean wordPattern(String pattern, String str) { // String要用equals,不然比较结果不对,会出bug // abba 对应 cccc 也不行, 所以要用set记录 // 使用String.split String[] strs = str.split(" "); if (pattern.length() != strs.length) { System.out.println("here1"); return false; } Map<String, String> mp = new HashMap<>(); Set<String> st = new HashSet<>(); for (int i=0; i<pattern.length(); i++) { String key = pattern.substring(i, i+1); if (mp.containsKey(key)) { // 开始用的 != 是错误的。要用equals if (!mp.get(key).equals(strs[i])) { System.out.printf("k: %s, v: %s, str: %s\n", key, mp.get(key), strs[i]); return false; } } else { if (st.contains(strs[i])) { return false; } else { mp.put(key, strs[i]); st.add(strs[i]); } } } return true; } } public class Main { public static void main(String[] args) { // write your code here System.out.println("Hello"); String pattern = "abba"; String str = "dog dog dog doa"; Solution solution = new Solution(); boolean ret = solution.wordPattern(pattern, str); System.out.printf("Get ret: %b\n", ret); } }
word-pattern(mock)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。