第一场(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;
    }
};
全部评论

相关推荐

1 1 评论
分享
牛客网
牛客企业服务