LeetCode 67 이진 합 (자바)

67. 이진 합

자신의 (이진수로 표현)에 두 개의 바이너리 문자열과 수익을 감안할 때.
그리고 비어 있지 않은 입력 문자열은 숫자 0과 1이 포함되어 있습니다.

실시 예 1 :
입력 A = "11", B = "1"
출력 "100"

출처 : 숙박 버튼 (LeetCode)
링크 : HTTPS : //leetcode-cn.com/problems/add-binary는
모든 네트워크에서 공제 저작권. 상업 무단 전재 소스를 표시하시기 바랍니다 승인 된 공식, 비상업적 재판에 문의하시기 바랍니다.

이하 파 0으로 짧은 길이의 두 개의 스트링 및 최종 캐리 경우 저차 계산부터 차례로 새로운 스트링을 기입하고, 1에서 전체의 출력을 끝낸다 : 생각 문자열이 될 수 역합니다.

class Solution {
    public String addBinary(String a, String b) {
        StringBuilder res=new StringBuilder();
        int carray=0;
        for(int i=a.length()-1,j=b.length()-1;i>=0||j>=0;i--,j--)
        {
            int sum=carray;
            sum+=i>=0?a.charAt(i)-'0':0;
            sum+=j>=0?b.charAt(j)-'0':0;
            res.append(sum%2);
            carray=sum/2;
        }
        res.append(carray>0?1:"");
        return res.reverse().toString();
    }
}
게시 88 개 원래 기사 · 원의 칭찬 0 · 조회수 2150

추천

출처blog.csdn.net/nuts_and_bolts/article/details/105104247