题解 | #JZ48 最长不含重复字符的子字符串#

最长不含重复字符的子字符串

http://www.nowcoder.com/practice/48d2ff79b8564c40a50fa79f9d5fa9c7

```/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param s string字符串 
 * @return int整型
 */
function lengthOfLongestSubstring( s ) {
    //遍历每一个字符当作首字符,记录每一个字符,当遇到重复字符时,记录长度,与max比较
    // write code here
    if(s.length===1){return 1}
    let max=0
    for(let i=0;i<s.length;i++){
        let temp=[] //每个新的首字符,重置临时数组记录
        for(let j=i;j<s.length;j++){
            if(temp.indexOf(s[j])>=0){ 
                max=max>temp.length?max:temp.length
                break //注意结束此循环
            }
            else{temp.push(s[j])
                if(j===s.length-1){max=max>temp.length?max:temp.length} //注意内循环至最后一位仍然没有遇到重复的情况
                }
        }
        
    }
    return max
}
module.exports = {
    lengthOfLongestSubstring : lengthOfLongestSubstring
};
全部评论

相关推荐

点赞 评论 收藏
转发
头像
不愿透露姓名的神秘牛友
03-13 14:57
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务