|
| 1 | +<h2><a href="https://leetcode.com/problems/fraction-addition-and-subtraction">592. Fraction Addition and Subtraction</a></h2><h3>Medium</h3><hr><p>Given a string <code>expression</code> representing an expression of fraction addition and subtraction, return the calculation result in string format.</p> |
| 2 | + |
| 3 | +<p>The final result should be an <a href="https://en.wikipedia.org/wiki/Irreducible_fraction" target="_blank">irreducible fraction</a>. If your final result is an integer, change it to the format of a fraction that has a denominator <code>1</code>. So in this case, <code>2</code> should be converted to <code>2/1</code>.</p> |
| 4 | + |
| 5 | +<p> </p> |
| 6 | +<p><strong class="example">Example 1:</strong></p> |
| 7 | + |
| 8 | +<pre> |
| 9 | +<strong>Input:</strong> expression = "-1/2+1/2" |
| 10 | +<strong>Output:</strong> "0/1" |
| 11 | +</pre> |
| 12 | + |
| 13 | +<p><strong class="example">Example 2:</strong></p> |
| 14 | + |
| 15 | +<pre> |
| 16 | +<strong>Input:</strong> expression = "-1/2+1/2+1/3" |
| 17 | +<strong>Output:</strong> "1/3" |
| 18 | +</pre> |
| 19 | + |
| 20 | +<p><strong class="example">Example 3:</strong></p> |
| 21 | + |
| 22 | +<pre> |
| 23 | +<strong>Input:</strong> expression = "1/3-1/2" |
| 24 | +<strong>Output:</strong> "-1/6" |
| 25 | +</pre> |
| 26 | + |
| 27 | +<p> </p> |
| 28 | +<p><strong>Constraints:</strong></p> |
| 29 | + |
| 30 | +<ul> |
| 31 | + <li>The input string only contains <code>'0'</code> to <code>'9'</code>, <code>'/'</code>, <code>'+'</code> and <code>'-'</code>. So does the output.</li> |
| 32 | + <li>Each fraction (input and output) has the format <code>±numerator/denominator</code>. If the first input fraction or the output is positive, then <code>'+'</code> will be omitted.</li> |
| 33 | + <li>The input only contains valid <strong>irreducible fractions</strong>, where the <strong>numerator</strong> and <strong>denominator</strong> of each fraction will always be in the range <code>[1, 10]</code>. If the denominator is <code>1</code>, it means this fraction is actually an integer in a fraction format defined above.</li> |
| 34 | + <li>The number of given fractions will be in the range <code>[1, 10]</code>.</li> |
| 35 | + <li>The numerator and denominator of the <strong>final result</strong> are guaranteed to be valid and in the range of <strong>32-bit</strong> int.</li> |
| 36 | +</ul> |
0 commit comments