题目描述

以字符串的形式读入两个数字,编写一个函数计算它们的和,以字符串形式返回。
(字符串长度不大于100000,保证字符串仅由’0’~’9’这10种字符组成)

思路:辅助的长度,以及进位标志

  1. <?php
  2. /**
  3. * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
  4. * 计算两个数之和
  5. * @param s string字符串 表示第一个整数
  6. * @param t string字符串 表示第二个整数
  7. * @return string字符串
  8. */
  9. function solve( $s , $t )
  10. {
  11. $lenS = strlen($s);
  12. $lenT = strlen($t);
  13. $num = $lenS > $lenT ? $lenS : $lenT;
  14. $result = "";
  15. $flag = 0;
  16. while($num--){
  17. $t1 = 0;
  18. $t2 = 0;
  19. if($lenS > 0){
  20. $t1 = $s[--$lenS];
  21. }
  22. if($lenT > 0){
  23. $t2 = $t[--$lenT];
  24. }
  25. $temp = $t1 + $t2 + $flag;
  26. $flag = intval($temp / 10);
  27. $result = ($temp % 10).$result;
  28. }
  29. if($flag){
  30. $result = $flag.$result;
  31. }
  32. return $result;
  33. }