最长公共前缀 - LeetCode
2018-05-19 20:31
225 查看
题目: 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入: ["flower","flow","flight"] 输出: "fl" 示例 2: 输入: ["dog","racecar","car"] 输出: "" 解释: 输入不存在公共前缀。 说明: 所有输入只包含小写字母 a-z 。
思路: 以数组中第一个元素为基准(实际第几个元素都可以)遍历字母,并与其他兄弟元素对比该相同索引位置的字母, 如果都相同就追记到result字符串中, 如果有任何一个不相同或有任何一个兄弟元素为undefined,那么终止循环,result字符串即为所求结果。 上答案:
/** * @param {string[]} strs * @return {string} */ var longestCommonPrefix = function (strs) { var result = '', str = '', len = strs.length; if(len == 1) { return strs[0]; } for (var i in strs[0]) { // 一级循环 for (var j = 1; j < len; j++) { // 二级循环 if (strs[j][i] == undefined || strs[j][i] != strs[0][i]) { str = ''; // 出现不相同字母,跳出二级循环 break; } str = strs[0][i]; // 本轮正在对比的字母 } if (str == '') { // 如果为空,说明本轮对比已经出现不相同的字母,跳出一级循环,去取结果 break; } result += strs[0][i]; } return result; }; var strs = ["flower","flow","flight"]; longestCommonPrefix(strs);简易开端,趟路...
阅读更多
相关文章推荐
- LeetCode 找到一个字符串数组的最长公共前缀
- leetcode-14. Longest Common Prefix(寻找字符串数组最长公共前缀)
- leetcode 201. Bitwise AND of Numbers Range 最长公共前缀问题 + 位操作
- LeetCode Longest Common Prefix 最长公共前缀
- LeetCode 14 Longest Common Prefix(最长公共前缀)
- Leetcode刷题记——14. Longest Common Prefix(最长公共前缀)
- LeetCode - 14. 最长公共前缀
- LeetCode 14 Longest Common Prefix(最长公共前缀)
- LeetCode--14. Longest Common Prefix(最长公共前缀子串)
- LeetCode | Longest Common Prefix(最长公共前缀)
- [leetcode] Longest Common Prefix 字符窜最长公共前缀判断
- leetcode 14. Longest Common Prefix 最长公共前缀
- LeetCode-14-Longest Common Prefix(最长公共前缀)
- leetcode:java.T014_LongestCommonPrefix--写一个函数找出一个字串所数组中的最长的公共前缀
- 【LeetCode】14. Longest Common Prefix 最长公共前缀问题
- leetcode——Longest Common Prefix 最长公共前缀(AC)
- LeetCode 14. 最长公共前缀
- [转][LeetCode]Longest Common Prefix ——求字符串的最长公共前缀
- LeetCode14. Longest Common Prefix(字典树:最长公共前缀)
- LeetCode 14 Longest Common Prefix(最长公共前缀)(String)