一.题目

最长公共前缀

二.思路

首先用 for 循环取该字符串数组每一个字符串第 index 位,添加到 HashSet 中,如果相同,进行下一步, index++,并清除 HashSet; 不同则判断当前 index 值是否为0,为0则直接 return "",否则 return strs[0].substring(0, index)

代码:

	public String longestCommonPrefix(String[] strs) {
		String indexString = "";
		HashSet<Object> hashSet = new HashSet<>();
		int i = 0;
		int index = 0;
		try {
			while (true) {
				for (i = 0; i < strs.length; i++) {
					hashSet.add(strs[i].charAt(index));
				}
				if (hashSet.size() != 1) {
					// 判断输入是否存在公共前缀。
					if (index == 0) {
						return indexString;
					} else {
						return strs[0].substring(0, index);
					}
				} else {
					hashSet.clear();
					index++;
				}
			}
		} catch (Exception e) {
		}
		return strs[0].substring(0, index);
	}

相关文章:

  • 2021-06-26
  • 2021-04-24
  • 2021-06-05
猜你喜欢
相关资源
相似解决方案