package leetcode;
/**
* ç»å®ä¸¤ä¸ªå符串形å¼çéè´æ´æ° num1 ånum2 ï¼è®¡ç®å®ä»¬çåã
*
*
* æç¤ºï¼
*
* num1 ånum2 çé¿åº¦é½å°äº 5100
* num1 ånum2 é½åªå
嫿°å 0-9
* num1 ånum2 é½ä¸å
å«ä»»ä½å导é¶
* ä½ ä¸è½ä½¿ç¨ä»»ä½å
§å»º BigInteger åºï¼Â ä¹ä¸è½ç´æ¥å°è¾å
¥çå符串转æ¢ä¸ºæ´æ°å½¢å¼
*
* æ¥æºï¼åæ£ï¼LeetCodeï¼
* 龿¥ï¼https://leetcode-cn.com/problems/add-strings
* è使å½é¢æ£ç½ç»ææãåä¸è½¬è½½è¯·èç³»å®æ¹ææï¼éåä¸è½¬è½½è¯·æ³¨æåºå¤ã
*/
import java.util.Random;
class Solution {
private static boolean debug;
public static void main(String[] args) {
Solution solution = new Solution();
System.out.println(solution.addStrings("35829", "498989"));
//System.out.println(solution.addStrings("119019", "2193"));
debug=false;
if(debug){
Random random = new Random();
int count=random.nextInt(20)+5000000;
for (int i = 0; i < count; i++) {
int a = random.nextInt(200000);
int b = random.nextInt(500000);
String s = solution.addStrings(a + "", b + "");
if(!s.equals((a+b)+"")){
System.out.println("计ç®ï¼"+s+"\tå®é
"+(a+b));
System.out.println("num1:"+a);
System.out.println("num2:"+b);
return ;
}
}
}
}
public String addStrings(String num1, String num2) {
if(num1==null||num1.length()==0){
return num2;
}
if(num2==null||num2.length()==0){
return num1;
}
int len1=num1.length();
int len2=num2.length();
StringBuilder s=new StringBuilder();
//鲿¢åå¤ä¸ªif夿
if(len1