逆置字符串中的单词或者URL

 

数实现将网址进行如下操作
www.google.com转成com.google.www 及mail.netease.com转成com.netease.mail

不允许用STL,空间为0(1)

 

 转载请注明出处。

 

这是在论坛里看到的一道网易的面试题,跟前几天见过的一道题目很像:

 

  将字符串中的单词逆置,如

  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,只需要将以“.”隔开的各子

字符串逆序,再将整个网址逆序即可。代码如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值