问题:字符串移位

对于一个字符串,请设计一个算法,将字符串的长度为len的前缀平移到字符串的最后。

给定一个字符串A和它的长度,同时给定len,请返回平移后的字符串。

思路:
逆序前缀;
逆序后缀;
逆序所有。
这样在O(N)的时间里可以完成

void reverse(char*const P,char*const Q){
     char* p=P,*q=Q;
     while(p<q){
         char x=*p;
         *p=*q;
         *q=x;
         p++;
         q--;
     }
    }
    string stringTranslation(string A, int n, int len) {
        if(len<=0)
            return A;
        char* a=&A[0];
        reverse(a,a+len-1);
        reverse(a+len,a+n-1);
        reverse(a,a+n-1);
        return A;
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 不错的博客求next数组: 注意:求next数组得到的最长公共前缀后缀是可以重叠的:比如:ababa,next[5...
    Gitfan阅读 948评论 0 0
  • 面试算法代码知识梳理系列 面试算法知识梳理(1) - 排序算法面试算法知识梳理(2) - 字符串算法第一部分面试算...
    泽毛阅读 1,648评论 0 6
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,338评论 19 139
  • 今天听吴晓波老师推送的“算法时代”深有感触,在这样一个硕大的互联网信息时代每天发生的事情不计其数,你可能因为你...
    Celina昕阅读 943评论 0 0
  • 类型转换# typeof //返回 字符串 instanceof Object.prototype.toStr...
    sunorry阅读 199评论 0 1

友情链接更多精彩内容