Menu
CoddyTech

Add Two Numbers

נתונים לך שני מספרים שלמים לא־שליליים, שכל אחד מהם מאוחסן כרשימה מקושרת חד־כיוונית של הספרות שלו, כשהספרה הפחות משמעותית מופיעה ראשונה. ברשימה הראשונה, הצומת i מכיל את הספרה values1[i] ומקושר לצומת next1[i]. הרשימה השנייה פועלת באותו אופן, עם next2 ו-values2. בשתי הרשימות, -1 מסיים את הרשימה, והראש הוא צומת 0. הצמתים אינם מאוחסנים לפי סדר הרשימה, לכן יש לעקוב אחר הקישורים.

החזר את ספרות הסכום של שני המספרים, כשהספרה הפחות משמעותית מופיעה ראשונה.

פונקציה

addTwoNumbers(next1: integer-array, values1: integer-array, next2: integer-array, values2: integer-array) → integer-array
next1integer-array
האינדקס של הצומת שאליו מקושר כל צומת של המספר הראשון, או ‎-1‎ עבור הצומת האחרון שלו
values1integer-array
הספרה שמוחזקת בכל צומת של המספר הראשון
next2integer-array
האינדקס של הצומת שאליו מקושר כל צומת של המספר השני, או ‎-1‎ עבור הצומת האחרון שלו
values2integer-array
הספרה שמוחזקת בכל צומת של המספר השני
מחזירהinteger-array
הספרות של הסכום, מהפחות משמעותית תחילה

אילוצים

  • 1 ≤ L1 ≤ 100, כאשר L1 הוא האורך של next1 ושל values1.
  • 1 ≤ L2 ≤ 100, כאשר L2 הוא האורך של next2 ושל values2.
  • 0 ≤ values1[i], values2[j] ≤ 9
  • כל איבר של next1 הוא -1 או אינדקס של צומת ברשימה הראשונה, וכל איבר של next2 הוא -1 או אינדקס של צומת ברשימה השנייה.
  • החל מהצומת 0, כל רשימה עוברת בכל אחד מהצמתים שלה בדיוק פעם אחת ואז מגיעה אל -1. אין מחזור.
  • לאף מספר אין אפסים מובילים: הצומת האחרון ברשימה מכיל ספרה שאינה 0, אלא אם הרשימה מכילה את הספרה היחידה 0.

דוגמאות

קלט
next1 = [2, -1, 1]values1 = [8, 6, 1]next2 = [2, -1, 1]values2 = [7, 5, 2]
פלט
[5, 4, 1, 1]
הסבר
הרשימה הראשונה עוברת בצמתים 0, 2, 1 וקוראת 8, 1, 6, כלומר את המספר 618. השנייה קוראת 7, 2, 5, כלומר את המספר 527. הסכום שלהם הוא 1145, ולכן התשובה היא 5, 4, 1, 1.
challenge icon

שאלת המשך

איך היית מחבר את המספרים אם הרשימות היו מאחסנות את הספרה המשמעותית ביותר ראשונה?

איפוס הקוד
def addTwoNumbers(next1, values1, next2, values2):
    # כתבו כאן את הקוד

בדיקה #1

בדיקה #2

בדיקה #3

ארגומנטים

next1 = [2, -1, 1]
values1 = [8, 6, 1]
next2 = [2, -1, 1]
values2 = [7, 5, 2]

הפלט הצפוי

[5, 4, 1, 1]