一个有序字符串,查找某个字符的位置[Java]

    xiaoxiao2022-07-06  192

    import java.util.Scanner; public class homework { public static void main(String[] args) { System.out.println("请输入一个有序字符串:"); Scanner sc= new Scanner(System.in); String str = sc.nextLine(); System.out.println(binSearch(str, str.length()/2)); /* 遍历查找 for(int a=0; a<str.length(); a++) { if(str.charAt(a)=='h') { System.out.println(a+1); break; } } */ /*二分循环查找 int mid=str.length()/2; while (mid<str.length()) { if(str.charAt(mid)=='h') { System.out.println(mid+1); break; } else if(str.charAt(mid)<'h') { mid=(mid+str.length())/2; } else if (str.charAt(mid)>'h') { mid=mid/2; } } */ } //二分递归查找 public static int binSearch(String str, int mid){ if(str.charAt(mid)=='h') { return mid+1; } else if(str.charAt(mid)>'h') { return binSearch(str,mid/2); } else if(str.charAt(mid)<'h') { return binSearch(str, (mid+str.length())/2); } return 0; } }
    最新回复(0)