- 设计思想:
-视频讲解链接B站视频讲解
- 复杂度分析:
- 代码:
c++版本:
class Solution {
public:
/**
*
* @param s string字符串
* @return string字符串
*/
string change(string s) {
// write code here
int n = s.size();//整个字符串长度
int index = 0;
int k = 0;//用来统计有多少个a
for(int i = 0;i < n;i ++){
if(s[i] != 'a'){
s[index ++] = s[i];//进行覆盖,保证其他字符的相对顺序不变
}else{
k ++;
}
}
//将a插入进来
for(int i = 0;i < k;i ++){
s[index ++] = 'a';
}
return s;
}
};
Java版本:
import java.util.*;
public class Solution {
/**
*
* @param s string字符串
* @return string字符串
*/
public String change (String s) {
// write code here
int n = s.length();//整个字符串长度
int index = 0;
int k = 0;//用来统计有多少个a
char[] str = s.toCharArray();
for(int i = 0;i < n;i ++){
if(str[i] != 'a'){
str[index ++] = str[i];//进行覆盖,保证其他字符的相对顺序不变
}else{
k ++;
}
}
//将a插入进来
for(int i = 0;i < k;i ++){
str[index ++] = 'a';
}
return new String(str);
}
}Python版本:
#
#
# @param s string字符串
# @return string字符串
#
class Solution:
def change(self , s ):
# write code here
a = []
b = []
for i in s:
if i == 'a':
a.append(i)
else:
b.append(i)
b.extend(a)
return ''.join(b)JavaScript版本:
/**
*
* @param s string字符串
* @return string字符串
*/
function change( s ) {
// write code here
let n = s.length;//整个字符串长度
let index = 0;
let k = 0;//用来统计有多少个a
let str = s.split('');
for(let i = 0;i < n;i ++){
if(str[i] != 'a'){
str[index ++] = str[i];//进行覆盖,保证其他字符的相对顺序不变
}else{
k ++;
}
}
//将a插入进来
for(let i = 0;i < k;i ++){
str[index ++] = 'a';
}
return str.join('')
}
module.exports = {
change : change
};
京公网安备 11010502036488号