编程题之字符串类
qq_33436509
这个作者很懒,什么都没留下…
展开
-
将一个字符串中的每个空格替换
题目:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。思路:先遍历字符串,找出空格数。目的字符串的长度比源字符串长度增加了 空格数*2;从后往前替换 。class Solution {public: void replaceSpace(char *str,int le...原创 2018-08-31 13:44:13 · 364 阅读 · 0 评论 -
字符串中查找第一个只出现一次的字符
题目:在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).思路:利用hash表存储每个字符的次数,然后遍历字符串,返回第一个字符为1次的字符。hash数组的内容就是每个字符的次数。这个是特殊的hash表。class Solution {public: int Fir...原创 2018-08-31 13:51:16 · 231 阅读 · 0 评论 -
左旋字符串
题目:左旋字符串:例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”思路:先分为两个部分,两个部分分别翻转,然后整体翻转。注意要用引用class Solution {public: string LeftRotateString(string str, int n) { int length=str.size()...原创 2018-08-31 13:54:15 · 139 阅读 · 0 评论 -
翻转字符串
题目:翻转字符串:“student. a am I”。句子应该是“I am a student.”思路:先把句子整体翻转,然后把每一个单词翻转。class Solution {public: string ReverseSentence(string str) { int length=str.size(); int i=0,j=0; ...原创 2018-08-31 13:59:35 · 129 阅读 · 0 评论