Evgenii Legotckoi
13 червня 2022 р. 14:13

Leed Code Solutions - 002 - Add Two Numbers

Рішення "Add Two Numbers" на Leetcode


  1. /**
  2. * Definition for singly-linked list.
  3. * struct ListNode {
  4. * int val;
  5. * ListNode *next;
  6. * ListNode() : val(0), next(nullptr) {}
  7. * ListNode(int x) : val(x), next(nullptr) {}
  8. * ListNode(int x, ListNode *next) : val(x), next(next) {}
  9. * };
  10. */
  11. class Solution {
  12. public:
  13. ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
  14. bool isOverheaded = false;
  15. int sum = 0;
  16. ListNode* head = new ListNode();
  17. ListNode* current = head;
  18.  
  19. ListNode* currentL1 = l1;
  20. ListNode* currentL2 = l2;
  21.  
  22. while (currentL1 != nullptr || currentL2 != nullptr)
  23. {
  24. if (!(currentL1 == l1 && currentL2 == l2))
  25. {
  26. current->next = new ListNode();
  27. current = current->next;
  28. }
  29. sum = 0;
  30.  
  31. if (currentL1)
  32. {
  33. sum += currentL1->val;
  34. currentL1 = currentL1->next;
  35. }
  36. if (currentL2)
  37. {
  38. sum += currentL2->val;
  39. currentL2 = currentL2->next;
  40. }
  41. if (isOverheaded)
  42. {
  43. ++sum;
  44. }
  45.  
  46. isOverheaded = sum > 9;
  47.  
  48. if (isOverheaded)
  49. {
  50. current->val = sum % 10;
  51. }
  52. else
  53. {
  54. current->val = sum;
  55. }
  56. }
  57.  
  58. if (isOverheaded)
  59. {
  60. current->next = new ListNode(1);
  61. }
  62.  
  63. return head;
  64. }
  65. };
Сховище GitHub

По статті запитували0питання

1

Вам це подобається? Поділіться в соціальних мережах!

Коментарі

Only authorized users can post comments.
Please, Log in or Sign up
  • Останні коментарі
  • Evgenii Legotckoi
    16 квітня 2025 р. 17:08
    Благодарю за отзыв. И вам желаю всяческих успехов!
  • IscanderChe
    12 квітня 2025 р. 17:12
    Добрый день. Спасибо Вам за этот проект и отдельно за ответы на форуме, которые мне очень помогли в некоммерческих пет-проектах. Профессиональным программистом я так и не стал, но узнал мно…
  • AK
    01 квітня 2025 р. 11:41
    Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
  • Evgenii Legotckoi
    09 березня 2025 р. 21:02
    К сожалению, я этого подсказать не могу, поскольку у меня нет необходимости в обходе блокировок и т.д. Поэтому я и не задавался решением этой проблемы. Ну выглядит так, что вам действитель…
  • VP
    09 березня 2025 р. 16:14
    Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…