上周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()

这样可以输出去掉多余空格的字符串,但并不完美。

    看客们,你们有没有什么好思路呀。