public class Test47 { //规定1与A对应,2与B对应…… //那么一个数字字符串“111”可转为AAA,KA,AK //给定一个字符串str,返回多少种转化结果 public static int number(String str) { if (str == null || str.length() == 0) { return 0; } return process(str.toCharArray() , 0); } public static int process(char[] str , int i) { if (i == str.length) { return 1; } if (str[i] == '0') { return 0; } if (str[i] == '1') { int res = process(str , i + 1); if (i + 1 < str.length) { res += process(str , i + 2); } return res; } if (str[i] == '2') { int res = process(str , i + 1); if (i + 1 < str.length && (str[i + 1] >= '0' && str[i + 1] <= '6')) { res += process(str , i + 2); } return res; } return process(str , i + 1); } }
从左往右的尝试模型题1
于 2024-08-19 10:29:55 首次发布