为什么同一个用例在eclipse中的结果和leetcode中结果的不同呢?

问题遇到的现象和发生背景

题目:给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。

只有一个当s="";时的实验用例错误,但是我在eclipse中的运行结果时0呀,而在leetcode提交时结果却是1。
看了看推荐的代码,发现我的代码好蠢但也是我一点一点想出来的~~就想着用自己的吧。

问题相关代码
public static int lengthOfLongestSubstring(String s) {
        if(s == null || s == "")
            return 0;
        char[] ch = s.toCharArray();
        int temp = 1;
        int number = 1;
        for(int i = 0; i < ch.length; i++) {
            int flag = 1;
            for(int j = i + 1; j < ch.length ; j++ ) {
                for(int k = i; k < j; k++) {
                    if(ch[k] == ch[j] ) {
                        flag = 0;
                        break;
                    }
                }
                if(flag == 0) {
                    break;
                }else {
                    temp = j - i + 1;
                    if(temp > number) {
                        number = temp;
                    }
                }
                
                
            }
        }
        
        return number;
            
    }

运行结果及报错内容

这是在eclipse中的运行截图呀

img


这是在leetcode中的运行结果

img

我的解答思路和尝试过的方法
我想要达到的结果

判断s的长度是否为0
将判断为空字符串的条件改为求s的长度为0

s == "" 需要修改为 s.equals("")
你在你本地调用返回0原因是,s == "" 这个条件成立了,成立的原因是字符串常量池的原因
如有帮助,请采纳!