面试题:找出最长不重复的子串
题目:给定一个字符串,例如:abbcdef,最长不重复的子串为bcdef。
kotlin代码实现:
1 fun main() { 2 val str = "abbcde" 3 var longest = "" 4 5 var i = 0 6 while (i < str.length) { 7 val sb = StringBuffer() 8 for (j in i until str.length) { 9 val s = str.substring(j, j + 1) 10 if (sb.indexOf(s) > 0) { 11 i = j - 1 12 break 13 } else { 14 sb.append(s) 15 } 16 } 17 if (sb.length > longest.length) { 18 longest = sb.toString() 19 } 20 i++ 21 } 22 23 println("longest substring:" + longest) 24 25 }

浙公网安备 33010602011771号