如何判断两个分数相等_i++

//这道题关键在于如何判断两个分数相等,这里采用除以gcd化为最简,然后构造成字符串。
class Solution {
    public long interchangeableRectangles(int[][] rectangles) {
        long res=0;
        HashMap<String,Integer> map=new HashMap<>();
        for(int i=0;i<rectangles.length;i++){
            int first=rectangles[i][0];
            int second=rectangles[i][1];
            int gcd=gcd(first,second);
            String s=String.valueOf(first/gcd)+'/'+String.valueOf(second/gcd);
            int exits= map.getOrDefault(s,0);
            res+=exits;
            map.put(s,exits+1);
        }

        return res;
    }
    //辗转相除法。 a%b=c  b%c=d  c%d=e....
    private static  int gcd(int a,int b){
        if(b==0){
            return a;
        }
        return gcd(b,a%b);
    }
}
我有一壶酒 足以慰风尘 尽倾江海里 赠饮天下人