Longest Substring Without Repeating Characters

来源:互联网 发布:nba球员体测数据排行 编辑:程序博客网 时间:2024/05/01 16:29
public class Solution {    /**     * 思想:维护两个下标start,end,start从0开始,end从1开始     * 两个指针一直向后遍历,先截取子串,并记录下最大子串的长度,然后再进行比较,     * 移动start以及end指针,其中end指针一直加,start指针只有当出现相同字符才往前移动。     * 注:substring截取子串时是半开闭区间的[start,end),保证了每次截取的子串都没有包含重复的字符     */    public int lengthOfLongestSubstring(String s) {        if(s == null || s.length() == 0){            return 0;        }        if(s.length() == 1){            return 1;        }        int start =0;        int end = 0;        String subStr = "";        int max = 0;        for(int i = 0; i < s.length(); i++){            end = i + 1;            subStr = s.substring(start,end);            max = max < subStr.length() ? subStr.length() : max;            if(end == s.length()){                break;            }            int index = subStr.indexOf(s.charAt(end));            if(index !=-1){                start += (index + 1);            }        }        return max;    }}
0 0
原创粉丝点击