转载请注明出处。
这是在论坛里看到的一道网易的面试题,跟前几天见过的一道题目很像:
将字符串中的单词逆置,如
I'm a teacher. 变成 teacher. a I'm
标点和单词连一起,不单独分开。
这两道题处理方法一样,逆置URL是以“.”作为分隔标志,逆置单词则是以空格。
最简单的,最不容易出错的方法是《编程珠玑》里讲的第二种旋转字符串的方法,
即要把字符串 “XY”左旋成 “YX”,即R为逆序操作,则YX= R(R(X)R(Y)),
也就是先将子字符串X逆序,再将子字符串Y逆序,然后将整个字符串再逆序。
例如:abcdefg要左旋成fgabcde,可进行如下操作
1. 逆序abcde,得到 edcbafg
2. 逆序fg,得到edcbagf
3. 逆序edcbagf,得到fgabcde
对于一个网址 A.B.C.D.E ,要将其逆置成 E.D.C.B.A,只需要将以“.”隔开的各子
字符串逆序,再将整个网址逆序即可。代码如下: