上周jd面试中,面试官出了一道题--去掉字符串中多余的空格,如"abc ert gg e dkhi"中,ert和gg之间有多余的空格,去掉空格变为"abc ert gg e dkhi"。要求:不能用系统函数,不能新建空间。(大概意思是这个,也可能是我当时紧张没理解他的原意,反正他说的问题我是这样理解的)
本来挺简单的一道题,想用java实现,可一加要求一下就我给整晕了,这几天在看scala,或许下面的代码可以满足要求。代码如下:
val s = "abc ert gg e dkhi" var a = "" for (c <- s) { if( a == " " && c == ' '){ a = " " // println("true") } else { a = c + "" print(c) } } println()
这样可以输出去掉多余空格的字符串,但并不完美。
看客们,你们有没有什么好思路呀。