Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Solution {
- public int gcd (int x, int y) {
- return y == 0 ? Math.abs(x) : gcd(y, x % y); // "1/3-1/2" => "-1/6", otherwise "1/-6"
- }
- public String fractionAddition(String expression) {
- Scanner sc = new Scanner(expression).useDelimiter("/|(?=[+-])");
- int numerator = 0, denominator = 1;
- while(sc.hasNext()) {
- int a = sc.nextInt(), b = sc.nextInt();
- numerator = numerator * b + denominator * a;
- denominator *= b;
- int g = gcd(denominator, numerator);
- numerator /= g;
- denominator /= g;
- }
- return numerator + "/" + denominator;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement