image.png

题目简介

0正,x反,只能翻转相邻两个硬币,让上一个硬币顺序和下一个相同。

思想

通过数组挨个判断上下两个数组[i] 是否相等,不相等则反转 i 和i+1 (也就是翻转相邻两个硬币)
递推思想。

代码

  1. package lanqiaobei.recursion;
  2. import java.util.Scanner;
  3. /**
  4. * @author Sun Mingshan
  5. * @Description 翻硬币问题
  6. * @date 2020/9/11 11:16 下午
  7. */
  8. public class coin {
  9. static char[] str;
  10. static char[] rightStr;
  11. static int count = 0;
  12. public static void turn(int i){
  13. if (str[i]=='*'){
  14. str[i]='o';
  15. }else{
  16. str[i]='*';
  17. }
  18. }
  19. public static void main(String[] args) {
  20. Scanner sc = new Scanner(System.in);
  21. str = sc.next().toCharArray();
  22. rightStr = sc.next().toCharArray();
  23. for (int i = 0;i < str.length;i++){
  24. if (str[i] != rightStr[i]){
  25. turn(i);
  26. turn(i+1);
  27. count++;
  28. }
  29. }
  30. System.out.println(count);
  31. }
  32. }