题目
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""
。
示例 1:
1 2
| 输入: ["flower","flow","flight"] 输出: "fl"
|
示例 2:
1 2 3
| 输入: ["dog","racecar","car"] 输出: "" 解释: 输入不存在公共前缀。
|
说明:
所有输入只包含小写字母 a-z
思路
用第一个字符串作为基准字符串,用剩下的字符串与之逐位比较.
代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| public string LongestCommonPrefix(string[] strs) { if (strs == null || strs.Length == 0) { return ""; } if (strs.Length == 1) { return strs[0]; } for (int i = 0; i < strs[0].Length; ++i) { for (int j = 1; j < strs.Length; ++j) { if (strs[j].Length <= i || strs[0][i] != strs[j][i]) { return strs[0].Substring(0, i); } } } return strs[0]; }
|