classSolution{public String solveEquation(String equation){
String[] strArr = equation.split("=");
ArrayList<Integer> left =calculate(strArr[0]);
ArrayList<Integer> right =calculate(strArr[1]);// x 的系数int ratio = left.get(0)- right.get(0);// 常数int number = right.get(1)- left.get(1);if(ratio ==0&& number ==0){return"Infinite solutions";}elseif(ratio ==0&& number !=0){return"No solution";}else{return"x="+(number/ratio);}}public ArrayList<Integer>calculate(String str){
ArrayList<Integer> list =newArrayList();int i =0;int j =1;int ratio =0;int num =0;
String s ="";while(j <= str.length()){if(j == str.length()|| str.charAt(j)=='+'|| str.charAt(j)=='-'){
s = str.substring(i, j);// x 的系数if(s.charAt(s.length()-1)=='x'){if(s.length()==1||(s.length()==2&& s.charAt(0)=='+')){
ratio = ratio +1;}elseif(s.length()==2&& s.charAt(0)=='-'){
ratio = ratio -1;}else{
ratio = ratio + Integer.valueOf(s.substring(0, s.length()-1));}// 非x的系数}else{
num = num + Integer.valueOf(s);}
i = j;}
j++;}
list.add(ratio);
list.add(num);return list;}}