Étant donné deux entiers non négatifs num1 et num2 sous forme de chaîne, calculez leur somme. Que devons-nous faire à ce moment-là ? Aujourd'hui, l'éditeur vous le guidera et vous pourrez vous y référer si vous en avez besoin.
Étant donné deux entiers non négatifs sous forme de chaînes num1 et num2, calculez leur somme.
Astuce :
La longueur de num1 et num2 est inférieure à 5 100. num1 et num2 ne contiennent que des nombres de 0 à 9. Ni num1 ni num2 ne contiennent de zéros non significatifs
Vous ne pouvez pas. utilisez n'importe quelle bibliothèque BigInteger intégrée, et vous ne pouvez pas non plus convertir directement la chaîne d'entrée en une forme entière
Idées de résolution de problèmes
Ajoutez petit à petit, les restes s'accumulent , et la valeur finale est 0. , ne boucle plus
Code
class Solution { /** * @param String $num1 * @param String $num2 * @return String */ function addStrings($num1, $num2) { $cur = 0; $i = strlen($num1) - 1; $j = strlen($num2) - 1; $str = ''; $carry = 0; while ($i >= 0 || $j >= 0 || $carry) { $cur = $carry; if ($i >= 0) { $cur += $num1[$i--]; } if ($j >= 0) { $cur += $num2[$j--]; } $carry = floor($cur / 10); // 向下取整,最后一次 0 的情况就不再循环 $str = $cur % 10 . $str; // 累连求余之后的结果, .$str 的操作可以避免反转结果 } return $str; }}
Apprentissage recommandé : tutoriel vidéo php
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!