415 字符串相加

  1. class Solution {
  2. public String addStrings(String num1, String num2) {
  3. if (num1 == null && num2 == null)
  4. return num1;
  5. StringBuilder ans = new StringBuilder();
  6. int flag = 0;
  7. int i = num1.length() - 1;
  8. int j = num2.length() - 1;
  9. while (i >= 0 || j >= 0) {
  10. int x = (i < num1.length() && i >= 0) ? num1.charAt(i) - '0' : 0;
  11. int y = (j < num2.length() && j >= 0) ? num2.charAt(j) - '0' : 0;
  12. int bitSum = (x + y + flag) % 10;
  13. flag = (x + y + flag) / 10;
  14. ans = ans.append(bitSum);
  15. --i;
  16. --j;
  17. }
  18. if (flag == 1)
  19. ans = ans.append(1);
  20. return ans.reverse().toString();
  21. }
  22. }