宏宇ya 2021-11-20 20:25 采纳率: 42.9%
浏览 151
已结题

为什么用本地可以正常运行,在力扣上就报错??力扣14题

力扣第14题
代码确实写的很垃圾,但是应该话糙理不糙
public class Test05 {
    
    //寻找最长公共前缀
    /**
     * 输入:strs = ["flower","flow","flight"]
     * 输出:"fl"
     * 输入:strs = ["dog","racecar","car"]
     * 输出:""
     * @param strs
     * @return
     */
    public static String longestCommonPrefix(String[] strs){
        
        //如果数组为空直接返回null
        if(strs.length < 1){
            return "";
        }else if(strs.length == 1){ //如果数组长度为1,直接返回第一个元素
            return strs[0];
        }
        
        String tmp = getSameFromTwo(strs[0], strs[1]);
        
        for(int i = 2; i < strs.length; i++){
            tmp = getSameFromTwo(tmp, strs[i]);
        }
        
        return tmp;
    }
    
    //从两个字符串中找最长公共前缀
    public static String getSameFromTwo(String s1, String s2){
        int p1 = 0;
        int p2 = 0;
        String tmp = "";
        if(s1 == "" || s2 == ""){
            return tmp;
        }
        while(s1.charAt(p1)== s2.charAt(p2)){
            tmp = tmp + s1.charAt(p1);
            p1++;
            p2++;
            if(p1 == s1.length() || p2== s2.length()){
                break;
            }
        }
        return tmp;
    }
    
    //测试
    public static void main(String[] args) {
        String[] strs ={"",""};
        String res = Test05.longestCommonPrefix(strs);
        System.out.println(res);
    }

}
以上代码,在本地eclipse都可以正常输出空,在力扣上却报错,是为什么呢?

img

  • 写回答

2条回答 默认 最新

  • CSDN专家-link 2021-11-20 20:38
    关注

    if(s1 == "" || s2 == ""){
    用等于来判断能行么,是不是用equal啊

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月28日
  • 已采纳回答 11月20日
  • 创建了问题 11月20日

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?