首页 > 代码库 > Leetcode: Longest Common Prefix
Leetcode: Longest Common Prefix
这道题做的不够顺利,许多次通过,但是居然是卡在一个小问题上了,判断strs是否为空,我想当然地就写成了if(strs == null) return null; 报错
java中null表示还没new出对象,就是还没开辟空间;“”表示new出了对象,但是这个对象装的是空字符串。这里显然是要应对strs[]为空数组的情况,数组为空,但是它已经在堆上开辟了空间。所以判空应该是 if (str.length == 0) return “”;
另外要注意书写风格,=号左右最好空格, if之后也最好空格
1 public class Solution { 2 public String longestCommonPrefix(String[] strs) { 3 String prefix = ""; 4 String pre; 5 int flag = 0; 6 if (strs.length == 0) return ""; 7 for (int i = 1; i <= strs[0].length(); i++){ 8 pre = strs[0].substring(0, i); 9 for (int j=0; j<strs.length; j++){ 10 if (!strs[j].startsWith(pre)){ 11 flag=1; 12 break; 13 } 14 } 15 if (flag == 1){ 16 return prefix; 17 } else{ 18 prefix = pre; 19 } 20 } 21 return prefix; 22 } 23 }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。