当前位置:网站首页>2022.8.10-----leetcode.640

2022.8.10-----leetcode.640

2022-08-10 23:57:00 路Lu727

 public String solveEquation(String equation) {
        int c=0;//常数
        int co=0;//系数
        String[] ss=equation.split("=");//分成左右式子

        for(int i=0,j=1;i<ss[0].length();){
            while(j<ss[0].length()){
                if(ss[0].charAt(j)=='+'||ss[0].charAt(j)=='-')
                    break;
                j++;
            }
            if(ss[0].charAt(j-1)=='x'){
                String num=ss[0].substring(i,j-1);
                //+-1单独判断
                if(num.equals("")||num.equals("+"))
                    co+=1;
                else if(num.equals("-"))
                    co-=1;
                else    co+=Integer.parseInt(num);
            }else{
                c-=Integer.parseInt(ss[0].substring(i,j));
            } 
            i=j++;              
        }
        for(int i=0,j=1;i<ss[1].length();){
            while(j<ss[1].length()){
                if(ss[1].charAt(j)=='+'||ss[1].charAt(j)=='-')
                    break;
                j++;
            }
            if(ss[1].charAt(j-1)=='x'){
                String num=ss[1].substring(i,j-1);
                if(num.equals("")||num.equals("+"))
                    co-=1;
                else if(num.equals("-"))
                    co+=1;
                else    co-=Integer.parseInt(num);
            }else{
                c+=Integer.parseInt(ss[1].substring(i,j));
            } 
            i=j++;
        }

        if(co==0) {
            if(c==0)
                return "Infinite solutions";
            else return "No solution";
        }else return "x="+c/co;
        
    }

原网站

版权声明
本文为[路Lu727]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_60466670/article/details/126274553