링크 로 큰 정수 덧셈 을 실현 하 다.
설명:
비어 있 지 않 은 링크 두 개 를 드 리 겠 습 니 다. 그리고 링크 의 숫자 는 역순 입 니 다. 지금 은 이 두 개의 링크 가 대표 하 는 숫자 와 똑 같이 링크 로 표시 하 라 고 합 니 다.
링크 정의:
// Definition for singly-linked list.
struct ListNode {
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};
코드:
class Solution {
public:
ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
ListNode *ret = l1, *pre = l1;
int up = 0;
while (l1 != NULL && l2 != NULL) {
l1->val = l1->val + l2->val + up;
up = l1->val / 10;
l1->val %= 10;
pre = l1;
l1 = l1->next;
l2 = l2->next;
}
if (l1 == NULL)
pre->next = l2;
l1 = pre->next;
while (l1 != NULL) {
l1->val = l1->val + up;
up = l1->val / 10;
l1->val %= 10;
pre = l1;
l1 = l1->next;
}
if (up != 0) {
ListNode *tmp = new ListNode(up);
pre->next = tmp;
}
return ret;
}
};
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
정수 반전Udemy 에서 공부 한 것을 중얼거린다 Chapter3【Integer Reversal】 (예) 문자열로 숫자를 반전 (toString, split, reverse, join) 인수의 수치 (n)가 0보다 위 또는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.