Longest Substring Without Repeating Characters
来源:互联网 发布:中国原创服装品牌 知乎 编辑:程序博客网 时间:2024/04/29 02:46
import java.util.Hashtable;//漏写public class Solution { public int lengthOfLongestSubstring(String s) { Hashtable<Integer, Character> checkrepeatation = new Hashtable<Integer, Character>(); int i=1, j=0, currlength=1, longestlength=1; if(s.length() == 0) return 0;//先对两个特殊情况做处理,接下来的循环至少要两个字长度的字符串这样才能进行比较 if(s.length() == 1) return 1; checkrepeatation.put(0, s.charAt(0)); while( i < s.length()) { if(!checkrepeatation.contains(s.charAt(i)))//无重复字时 { currlength++; } else//有重复字时 { if(currlength > longestlength) { longestlength = currlength; } while(s.charAt(j) != s.charAt(i)) { checkrepeatation.remove(j); j++; currlength--;//因为remove,所以currlength也发生相应的变化 } checkrepeatation.remove(j); j++; //currlength--;这句不需要。这个remove是删掉重复字第一次出现的情况。 //因为重复字第二次出现的时候,我并没有增加currlength。 } checkrepeatation.put(i, s.charAt(i));//这句和下面这句不论什么情况下都必须执行。 i++;// if (i == s.length() && currlength > longestlength) longestlength = currlength;//字符串走到最后一个字的时候 } return longestlength; }}
while( i < s.length())//这段循环我又做了小小的改动 //,少了之前的else,看上去更干净了 { if(checkrepeatation.contains(s.charAt(i)))//有重复字时 { if(currlength > longestlength) { longestlength = currlength; } while(s.charAt(j) != s.charAt(i)) { checkrepeatation.remove(j); j++; currlength--;//因为remove,所以currlength也发生相应的变化 } checkrepeatation.remove(j); j++; currlength--; } currlength++;//这句和下面两句不论什么情况下都必须执行。 checkrepeatation.put(i, s.charAt(i)); i++; if (i == s.length() && currlength > longestlength) longestlength = currlength;//字符串走到最后一个字的时候 }
0 0
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters
- 环境配置记录
- SQL 左外连接,右外连接,全连接,内连接
- ss2H框架常遇到的错误记录
- Java:单例模式的七种写法
- 多线程编程3 - NSOperationQueue
- Longest Substring Without Repeating Characters
- 查找和为某值的两个数
- LeetCode: Intersection of Two Linked Lists
- 杭州女子朋友圈卖假货面对惩罚 买家心照不宣
- 应用DOM4J解析节点信息
- LeetCode-3Sum
- windbg分析dump文件
- Shader_0
- Loon游戏引擎(LGame)开发者鹏大重现江湖,目测又将改写Java界