LeetCode-14. Longest Common Prefix
来源:互联网 发布:html合并单元格编程题 编辑:程序博客网 时间:2024/05/22 23:07
一、问题描述
Write a function to find the longest common prefix string amongst an array of strings.
求字符串数组中的最大前缀。
二、解题思路
1.判断字符串数组是不是空数组或者是否为null,是则返回空字符串。
2.以字符串数组中的第1个字符串strs[0]作为预设前缀pre,然后从strs[1]开始判断当前字符串是否在位置0包含预设前缀pre,如果包含则判断下一个字符strs[2];如果不包含,则去掉预设前缀pre的尾字符作为新的预设前缀pre
三、代码
public class Solution { public String longestCommonPrefix(String[] strs) { /* if(strs.length==0) return ""; if(strs.length==1) return strs[0]; int minlength=Integer.MAX_VALUE; int minpoint=0; for(int i=0;i<strs.length;i++){ if(strs[i].length()<minlength){ minpoint=i; minlength=strs[i].length(); } } for(int i=0;i<strs.length&&strs[minpoint].length()!=0;i++){ if(i==minpoint) continue; minlength=Math.min(strs[minpoint].length(),strs[i].length()); int j=0; for(;j<minlength;j++){ if(strs[i].charAt(j)!=strs[minpoint].charAt(j)){ // j++; break; } }//for循环有两种退出方式,不论哪种退出方式,当前位置都指向了最大前缀的下一个位置 // j--; if(j<=0) strs[minpoint]=""; else strs[minpoint]=strs[minpoint].substring(0,j); //System.out.println(strs[minpoint].substring(0,j)); } return strs[minpoint]; */ if(strs.length==0||strs==null) return ""; String pre=strs[0]; for(int i=1;i<strs.length;i++){ while(strs[i].indexOf(pre)!=0){ pre=pre.substring(0,pre.length()-1); } } return pre; }}
0 0
- [leetcode] 14. Longest Common Prefix[leetcode] 14. Longest Common Prefix
- [LeetCode]14.Longest Common Prefix
- LeetCode 14. Longest Common Prefix
- LeetCode --- 14. Longest Common Prefix
- LeetCode 14.Longest Common Prefix
- [Leetcode] 14. Longest Common Prefix
- 【leetcode】14. longest common prefix
- [leetcode] 14.Longest Common Prefix
- [leetcode] 14. Longest Common Prefix
- LeetCode - 14. Longest Common Prefix
- Leetcode-14. Longest Common Prefix
- Leetcode 14. Longest Common Prefix
- 14. Longest Common Prefix LeetCode
- leetcode 14. Longest Common Prefix
- leetcode 14. Longest Common Prefix
- leetcode 14. Longest Common Prefix
- LeetCode--14. Longest Common Prefix
- Leetcode 14. Longest Common Prefix
- mybatis-XML配置(三)
- ubuntu cd /h tab键显示错误:bash: cannot create temp file for here-document: No space left on device
- JS中电话号码的正则
- jquery 插件
- MyBatis调用oracle的自定义函数
- LeetCode-14. Longest Common Prefix
- 树和二叉树
- 欢迎使用CSDN-markdown编辑器
- Jan 3rd - 新的一年,新的开始
- C++ 排序函数 sort(),qsort()的用法
- [LeetCode]406. Queue Reconstruction by Height 解题报告
- web前端面试题整理(程序篇)
- OpenGL环境搭建
- 《C++ API》