WPF自定義控制元件與樣式(4)-CheckBox/RadioButton自定義樣式
阿新 • • 發佈:2021-07-20
給定兩個以字串形式表示的非負整數num1和num2,返回num1和num2的乘積,它們的乘積也表示為字串形式。
示例 1:
輸入: num1 = "2", num2 = "3"
輸出: "6"
示例2:
輸入: num1 = "123", num2 = "456"
輸出: "56088"
說明:
num1和num2的長度小於110。
num1 和num2 只包含數字0-9。
num1 和num2均不以零開頭,除非是數字 0 本身。
不能使用任何標準庫的大數型別(比如 BigInteger)或直接將輸入轉換為整數來處理。
通過次數154,096提交次數343,823
class Solution { public String multiply(String num1, String num2) { int total[] = new int[num1.length() + num2.length()]; boolean flag = true; int k = total.length - 1; for (int i = num2.length() - 1; i >= 0; i--) {//首先處理兩個數相乘,不處理進位 for (int j = num1.length() - 1; j >= 0; j--) { total[i + j] += (num1.charAt(j) - '0') * (num2.charAt(i) - '0'); if (flag == true) { k = i + j;//使用k標記有效的最高位否則數字結尾會出現多餘的0,例如nums1='2',nums2='3'結果為60 flag = false; } } } for (int i = k; i > 0; i--) {//處理進位 total[i - 1] += total[i] / 10; total[i] %= 10; } String str = ""; int member = 0; for (int i = 0; i <= k; i++) {//使用member標記0的個數保證結果為0時只輸出一個0 if(total[i]==0) member++; str += total[i]; } if(member == k+1) return "0"; else return str; } }