拼多多的一道机试题:
输入的字符串数目是4k,1<=k<=10, 按顺时针 输出正方形的字符串
如输入:abcdefghijkl
输出:
我的方法感觉有点笨,但是能出结果,如果有大神有更好的思路,麻烦评论说一下
def main(args: Array[String]): Unit = {
val string="abcdefghijkl"
val strarr=string.toCharArray
val len=string.length/4+1
var ix=0
var ax=string.length-1
for(i<-1 to len){
if(i==1){
for(j<-1 to len){
print(strarr.apply(ix)+" ")
ix+=1
}
println("")
}else if(i==len){
for(j<-1 to len){
print(strarr.apply(ax)+" ")
ax-=1
}
println("")
}else{
print(strarr.apply(ax))
val ll=((len-2)*2+1)
for(k<-1 to ll){
print(" ")
}
print(strarr.apply(ix))
ix+=1
ax-=1
println("")
}
}
}