Следующий код должен взять целое число (которое является числителем) и преобразовать его в связанный список, начиная с самого конца. Например, для целого числа 603 я хочу создать 3-> 0-> 6. Но по какой-то причине мой вывод дает мне только 0-> 6 и полностью игнорирует 3? Я просмотрел свой код и просто не могу понять, где моя логика c работает неправильно.
struct ListNode {
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
}
int numerator = sum1 + sum2;
ListNode * ptr;
while (numerator != 0) {
int val = numerator % 10;
numerator = numerator / 10;
ListNode * node = new ListNode(val);
// If list is empty, add node.
if (!ptr) {
ptr = node;
// If list is not empty, traverse to end of list and then append.
} else {
while (ptr->next) {
ptr = ptr->next;
}
ptr->next = node;
}
}