public String multiply(String num1, String num2) {
		char[] result = new char[num1.length() + num2.length()];
		Arrays.fill(result, '0');
		for (int i = num1.length() - 1; i >= 0; --i) {
			int carry = 0;
			for (int j = num2.length() - 1; j >= 0; --j) {
				int val = result[i + j + 1] - '0' + (num1.charAt(i) - '0')
						* (num2.charAt(j) - '0') + carry;
				carry = val / 10;
				result[i + j + 1] = (char) (val % 10 + '0');
			}
			result[i] += carry;
		}
		String res = "";
		int i = 0;
		for (; i < result.length; ++i) {
			if (result[i] != '0')
				break;
		}
		if (i == result.length)
			return "0";
		while (i < result.length) {
			res += result[i];
			++i;
		}
		return res;
	}