두 개의 바 이 너 리 문자열 을 지정 하여 합 (바 이 너 리 로 표시) 을 되 돌려 줍 니 다.
두 개의 바 이 너 리 문자열 을 지정 하여 합 (바 이 너 리 로 표시) 을 되 돌려 줍 니 다.
비 어 있 는 문자열 로 입력 하고 숫자 1 과 0 만 포함 합 니 다.
예제 1: 입력: a = "11", b = "1" 출력: "100"
예제 2: 입력: a = "1010", b = "1011" 출력: "10101"
출처: 리 트 코드 (LeetCode) 링크: 링크 저작권 은 네 크 라인 네트워크 에 있 습 니 다.상업 전 재 는 정부 에 연락 하여 권한 을 부여 해 주 십시오. 비 상업 전 재 는 출처 를 밝 혀 주 십시오.
분석: 입력 문자열 을 반전 시 키 고 모든 항목 을 옮 겨 다 니 며 바 이 너 리 덧셈 과 진 위 를 연산 합 니 다. 마지막 진 위 는 특히 주의해 야 합 니 다.
C + + 소스 코드:
class Solution {
public: string addBinary(string a, string b) {
reserve(a);
reserve(b);
int i = 0;
char label = '0';
int t = 0;
string ans;
for(int i = 0;i < a.size() || i < b.size();i++)
{
if(i < a.size()) t = a[i] - '0' + t;
if(i < b.size()) t = b[i] - '0' + t;
if(t >= 2)
{
ans += to_string(t % 2);
t = t / 2;
}
else
{
ans += to_string(t);
t = 0;
}
}
if(t)
ans += to_string(1);
reserve(ans);
return ans;
}
void reserve(string &str)//
{
int left = 0;
int right = str.length() - 1;
while(left < right)
{
swap(str[left],str[right]);
left++;
right--;
}
}
};
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
비슷한 이름의 Attribute를 많이 만들어 삭제하는 Houdini사용 소프트웨어는 Houdini16.5입니다 배열에서는 애트리뷰트의 보간이 잘 동작하지 않는 것과 AttributeCreateSOP 노드에서 Size가 4를 넘는 애트리뷰트를 작성해도 값이 조작할 수 없어 의미가 없...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.