package Ġkat as . kotlin . leetcode . longest _ substring Ċ Ċ import Ġdat sok . should Equal Ċ import Ġorg . junit . Test Ċ Ċ /** Ċ Ġ* Ġhttps :// leetcode . com / problems / longest - substring - without - repe ating - characters / Ċ Ġ*/ Ċ class ĠL on gest Substring Ġ{ ĊĠĠĠ Ġ@ Test Ġfun Ġ` find Ġthe Ġlength Ġof Ġthe Ġlongest Ġsubstring Ġwithout Ġrepe ating Ġcharacters `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ"". longest Substring () Ġshould Equal Ġ 0 ĊĠĠĠĠĠĠĠ Ġ" a ". longest Substring () Ġshould Equal Ġ 1 ĊĠĠĠĠĠĠĠ Ġ" abc ". longest Substring () Ġshould Equal Ġ 3 ĊĠĠĠĠĠĠĠ Ġ" ab ca ". longest Substring () Ġshould Equal Ġ 3 ĊĠĠĠĠĠĠĠ Ġ" aab bc ". longest Substring () Ġshould Equal Ġ 2 ĊĊĠĠĠĠĠĠĠ Ġ" abc ab cbb ". longest Substring () Ġshould Equal Ġ 3 ĊĠĠĠĠĠĠĠ Ġ" bb bbb ". longest Substring () Ġshould Equal Ġ 1 ĊĠĠĠĠĠĠĠ Ġ" p ww k ew ". longest Substring () Ġshould Equal Ġ 3 ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun ĠString . longest Substring (): ĠInt Ġ{ ĊĠĠĠ Ġvar ĠmaxSize Ġ= Ġ 0 ĊĠĠĠ Ġval Ġvisited Ġ= ĠHashSet < Char >() ĊĠĠĠ Ġvar Ġfrom Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġto Ġ= Ġ 0 ĊĠĠĠ Ġwhile Ġ( to Ġ< Ġlength ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġadded Ġ= Ġvisited . add ( this [ to ]) ĊĠĠĠĠĠĠĠ Ġif Ġ(! added ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( this [ from ] Ġ!= Ġthis [ to ]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvisited . remove ( this [ from ]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfrom ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom ++ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠmaxSize Ġ= Ġmax Of ( maxSize , Ġto Ġ- Ġfrom Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġto ++ ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn ĠmaxSize Ċ } Ċ