今天的题太简单了,不用3、4行代码就写好了。。。晒一下代码吧,感觉没什么好讲的,第一题直接遍历然后替换,第二题直接想象成循环队列就好了。
替换空格
请实现一个函数,把字符串 s
中的每个空格替换成"%20"。
示例 1:
输入:s = "We are happy."
输出:"We%20are%20happy."
限制:
0 <= s 的长度 <= 10000
class Solution {
public:
string replaceSpace(string s) {
string ans, str = "%20";
for(int i = 0; i < s.size(); ++ i){
if(s[i] == ' '){
ans += str;
}else ans += s[i];
}
return ans;
}
};
左旋字符串
字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"
和数字2
,该函数将返回左旋转两位得到的结果"cdefgab"
。
示例 1:
输入: s = "abcdefg", k = 2
输出: "cdefgab"
示例 2:
输入: s = "lrloseumgh", k = 6
输出: "umghlrlose"
限制:
1 <= k < s.length <= 10000
class Solution {
public:
string reverseLeftWords(string s, int k) {
string ans;
for(int i = k; ans == "" || i != k; i = (i + 1) % s.size()){
ans += s[i];
}
return ans;
}
};
最后
今天的题依旧比较简单,考察的是字符串,希望我的博客能对你有所帮助。
新人博主发博,恳请各位不吝赐教,不胜感激,晚安。
【剑指Offer】系列:
【剑指Offer】栈
【剑指Offer】链表