2019/10/8今日头条笔试
2019/10/8今日头条笔试 第三题
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = Integer.parseInt(scanner.nextLine());
for(int i=0; i<num; i++) {
String s = scanner.nextLine();
getZeroNumber(s, 0, 0, 0, true);
System.out.println(number);
number = 0;
}
}
private static int number = 0;
private static void getZeroNumber(String s, int start, int now, int sum, boolean minus) {
String subS = s.substring(start, now);
if(subS.length() >= 1) {
long subSum = Long.parseLong(subS);
if (!minus) {
sum += subSum;
} else {
sum -= subSum;
}
}
if (now >= s.length() && start != 0) {
if (sum == 0) {
number++;
}
return;
}
for (int i = now+1; i <= s.length(); i++) {
getZeroNumber(s, now, i, sum, true);
getZeroNumber(s, now, i, sum, false);
}
}