LeetCode-067-二進制求和
題目描述:給你兩個二進制字符串,返回它們的和(用二進制表示)。
輸入為 非空 字符串且只包含數(shù)字 1 和 0。
示例說明請見LeetCode官網。
來源:力扣(LeetCode) ??
鏈接:
??著作權歸領扣網絡所有。商業(yè)轉載請聯(lián)系官方授權,非商業(yè)轉載請注明出處。
解法一:分組處理
由于過長的字符串直接轉成int值會報錯,因為超出了int值的上線,所以采取分段處理的方式,從后往前,每30位相加,利用了
Integer.parseInt(String, 2)
方法將字符串二進制數(shù)轉成10進制的int值,然后利用Integer.toBinaryString(int)
方法將相加后的值再轉成二進制字符串,然后把分段的字符串加起來,就是最后的結果。做的過程中有幾點要考慮:
第一,每段相加時,考慮是否有進位,如果有進位,用addOne表示進位數(shù),值為1,在下一分段相加時把addOne加上;
第二,當每段相加的結果長度小于30位時,需要在前面補0,補到30位。
【每日寄語】 天可補,??商?,南山可移。日月既往,不可復追。
標簽: