LeetCode # 415
Given two non-negative integers, num1 and num2 represented as string, return the sum of num1 and num2 as a string.
Example 1:
Input:
num1 = "11", num2 = "123"
Output: "134"
Constraints:
- 1 <= num1.length, num2.length <= 10⁴
- num1 and num2 consist of only digits.
- num1 and num2 don't have any leading zeros except for the zero itself.
Solution #1 (2ms)
class Solution {
public String addStrings(String num1, String num2) {
int i = num1.length() - 1;
int j = num2.length() - 1;
int sum = 0;
StringBuilder builder = new StringBuilder();
while (i >= 0 || j >= 0 || sum > 0) {
if (i >= 0) {
sum += (num1.charAt(i) - '0');
i--;
}
if (j >= 0) {
sum += (num2.charAt(j) - '0');
j--;
}
builder.append(sum % 10);
sum = sum > 9 ? sum / 10 : 0;
}
return builder.reverse().toString();
}
}
Result #1
💡 String 각각의 알맞는 인덱스 값을 더하고, 더한 값이 10을 넘을 때 예외처리한다.
String을 Int로 변환해서 풀 경우, Int 범위를 벗어날 경우 Wrong Answer!!를 받게 된다. String 각각 인덱스 값을 더해서 이를 StringBuilder에 append()해주는 방법으로 풀어야 한다.
More Algorithm!
👇👇
github.com/ggujangi/ggu.leet-code
출처 : leetCode
'LeetCode > Easy' 카테고리의 다른 글
[Java] LeetCode 441 : Arranging Coins (0) | 2021.05.14 |
---|---|
[Java] LeetCode 989 : Add to Array-Form of Integer (0) | 2021.05.13 |
[Java] LeetCode 258 : Add Digits (0) | 2021.05.12 |
[Java] LeetCode 67 : Add Binary (0) | 2021.05.12 |
[Java] LeetCode 717 : 1-bit and 2-bit Characters (0) | 2021.04.21 |