第一场(A-移动字母)
题目描述:
链接:https://ac.nowcoder.com/acm/contest/6218/A
来源:牛客网
给定一个只包含小写字母的字符串s,牛牛想将这个字符串中的所有'a'字母全部移动到字符串的末尾,而且保证其它字符的相对顺序不变。其中字符串s的长度<=1e6。
示例输入:"abcavv"
示例输出:"bcvvaa"
思路:
双指针,快指针遍历字符串,慢指针赋值其中的非'a'字符,在末尾补齐'a'。
代码:
class Solution {
public:
/**
*
* @param s string字符串
* @return string字符串
*/
string change(string s) {
// write code here
int j = 0;
for(int i = 0; i < s.size(); ++i) if(s[i] != 'a') s[j++] = s[i];
while(j < s.size()) s[j++] = 'a';
return s;
}
};
查看9道真题和解析