赞
踩
class Solution { public String longestCommonPrefix(String[] strs) { int length = strs.length; int minLength = getMinLength(strs); StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < minLength; ++i) { char target = '0'; Map<Character, Integer> map = new HashMap<>();//用哈希表给相应的字符计数,如果计数刚好是strs的长度,那么都有相同前缀 for (String str : strs) { map.put(str.charAt(i), map.getOrDefault(str.charAt(i), 0) + 1); target = str.charAt(i); } if (map.get(target) == length) { stringBuilder.append(target); } else { break; } } return stringBuilder.toString(); } public int getMinLength(String[] strs) { int result = 201; for (String str : strs) { result = Math.min(result, str.length()); } return result; } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。