【算法习作】字符串处理两例

作者:gnuhpc
出处:http://www.cnblogs.com/gnuhpc/

1.按词倒置一个句子

题目:例如”I am a student”,经处理后得到”student am a I”,限定除了一个空格外单词间没有任何其他分隔符。

解析:将整个字符串倒置后分别对每一个词进行倒置即可。






















































 

2.左旋转字符串

题目:输入:abcdefg,2  , 输出:cdefgab ,复杂度要求:不使用额外空间存储字符串。

思路:S=abcdefg  ,   S1=ab, S2=cdefg, !S1=ba, !S2 = gfedc => !((!S1)(!S2)) 即为所求。也就是说先按欲倒置的位置将原字符串划分为两个子串,分别倒置,然后再将整个字符串倒置即可求得。















































辅助函数reverseString为:













 

作者:gnuhpc
出处:http://www.cnblogs.com/gnuhpc/


               作者:gnuhpc
               出处:http://www.cnblogs.com/gnuhpc/
               除非另有声明,本网站采用知识共享“署名 2.5 *”许可协议授权。


分享到:

上一篇:关于波分复用技术的CWDM与DWDM光模块介绍


下一篇:数据结构入门(二)固定容量数组