private String add(String num1, String num2) {
    	int i = num1.length() - 1;
    	int j = num2.length() - 1;
    	int flow = 0;
    	StringBuilder sb = new StringBuilder();
    	while (i >= 0 && j >= 0)
    	{
    		int n = (num1.charAt(i) - '0' + num2.charAt(j) - '0' + flow); 
    		sb.append(n % 10);
    		flow = n / 10;
    		i--;
    		j--;
    	}
    	if (i >= 0)
    	{
    		while (i >= 0)
    		{
    			int n = num1.charAt(i) - '0' + flow;
    			sb.append(n % 10);
    			flow = n / 10;
    			i--;
    		}
    	}
    	else
    	{
    		while (j >= 0)
    		{
    			int n = num2.charAt(j) - '0' + flow;
    			sb.append(n % 10);
    			flow = n / 10;
    			j--;
    		}
    	}
    	if (flow > 0) sb.append('1');
    	return sb.reverse().toString();
    }