Skip to content

Latest commit

 

History

History
executable file
·
71 lines (53 loc) · 1.23 KB

LeetCode-014LongestCommonPrefix.md

File metadata and controls

executable file
·
71 lines (53 loc) · 1.23 KB
title date categories tags
LeetCode刷题笔记-014LongestCommonPrefix
2018-02-23 01:00:37 -0800
算法寻径
LeetCode

题目:

编写一个函数来查找字符串数组中最长的公共前缀字符串。

分析

easy,略

解答:

import org.junit.Test;
public class _014LongestCommonPrefix {
	@Test
	public void test() {
		String[] strs= {"aba","aa"};
		System.out.println(longestCommonPrefix(strs));
		
		
	}
	
	public String longestCommonPrefix(String[] strs) {
		//找到最长串
		String maxLenStr="";
		for (int i = 0; i < strs.length; i++) {
			if (strs[i].length()>maxLenStr.length()) {
				maxLenStr=strs[i];
			}
		}
		//开始比对
		if (maxLenStr.equals("")) {
			return "";
		}
		String resultStr="";//从第一个字符开始
		if (maxLenStr.length()==1) {
			//特殊情况
			for (int i = 0; i < strs.length; i++) {
				if (!maxLenStr.equals(strs[i])) {
					return "";
				}
			}
			return maxLenStr;
		}
		for (int i = 0; i <= maxLenStr.length(); i++) {
			resultStr=maxLenStr.substring(0, i);
			for (int j = 0; j < strs.length; j++) {
				if (!strs[j].startsWith(resultStr)) {
					return resultStr.substring(0,resultStr.length()-1);
				}
			}
		}
	     return resultStr;   
	}
}