从后往前冒泡交换,把'D'往后移
package org.niuke.solution38;
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
char[] s = sc.nextLine().toCharArray();
int p = s.length - 1;
int cnt = 0;
while (p > 0) {
if(s[p] == 'C'){
int q = p - 1;
while (q >= 0) {
if(s[q] == 'D'){
s[q] = 'C';
cnt += p - q;
p--;
break;
}
q--;
}
if(q <= 0){
break;
}
}else{
p--;
}
}
System.out.println(cnt);
}
}

京公网安备 11010502036488号