Ich versuche, das folgende Problem zu lösen, die zwei Strings hinzufügen, ohne sie in Ganzzahl zu konvertieren. Ich habe eine Lösung für das Problem gefunden, aber ich verstehe es nicht. Würde es jemand bitte auf Englisch erklären?Erläutern von C++ - Code zum Hinzufügen von zwei Strings
hier ist der Code:
class Solution {
public:
string addStrings(string num1, string num2) {
int i=num1.size()-1,j=num2.size()-1,carry=0;
string res="";
while(i>=0||j>=0)
{
if(i>=0) carry+=num1[i--]-'0';
if(j>=0) carry+=num2[j--]-'0';
res=to_string(carry%10)+res;
carry/=10;
}
return carry?"1"+res:res;
}
};
Was Sie nicht süecifically verstehen? –
Machen Sie alles auf Papier für zwei kleine Zahlen. Oder durchlaufen Sie es zeilenweise in einem Debugger. –
Dies ist vergleichbar mit dem Hinzufügen von zwei Zahlen auf dem Papier. – Tempux