题目:https://leetcode-cn.com/problems/longest-common-prefix/comments/
代码:
class Solution { public String longestCommonPrefix(String[] strs) { int minLength = Integer.MAX_VALUE; for (String str : strs) { minLength = str.length() < minLength ? str.length() : minLength; } StringBuilder sb = new StringBuilder(); for (int i = 0; i < minLength; i++) { Character c = null; for (String str : strs) { if (c == null) { c = str.charAt(i); } else if (c != str.charAt(i)) { c = null; break; } } if (c == null) { break; }else{ sb.append(c); } } return sb.toString(); } }
思路:
1、遍历所有字符串,一个字符一个字符进行比较,为了避免有数组越界的情况出现。所以先求出strs中所有字符串的最短的长度minLength
2、定义索引i,从0到minLength进行逐个遍历,碰到有一个字符串在索引i的位置跟其他人不一样。就退出。